吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Java寫開源庫 覆蓋70多種推薦算法

電子工程師 ? 來源:未知 ? 作者:胡薇 ? 2018-07-19 08:51 ? 次閱讀

在經過一年多的開發工作之后,LibRec 3.0 版本終于發布了。LibRec是一個基于 Java 的開源算法工具庫,覆蓋了 70 余個各類型推薦算法,可以有效解決評分預測和物品推薦兩大關鍵的推薦問題,目前已經在 GitHub 上收獲了 1457 個 Star,612 個 Fork。

2012 年,還在新加坡南洋理工大學攻讀博士學位的郭貴冰開始關注推薦系統。當時,MyMedialite 是最知名的推薦工具庫之一。作為初學者,郭貴冰一邊看論文,一邊看MyMedialite 的代碼,然后在它的基礎上實現我自己的研究算法。

然而,很快郭貴冰就意識到一個問題,在 Linux 服務器上跑 MyMedialite 會非常麻煩,而且在并行計算的時候諸多限制(相對于 Windows 平臺),在跨平臺方面存在不足。不得已,郭貴冰只好把自己的程序改成熟悉的 Java 代碼,于是得到是最原始的 LibRec。隨著研究和學習的深入,更多的算法慢慢添加到了 LibRec 中,并托管到 GitHub 以便版本控制。

2015 年 11 月,郭貴冰以引進人才的方式加入東北大學軟件學院,任職副教授。由于精力所限,郭貴冰開始組建開源團隊。2016 年 1 月,郭貴冰、王宇峰等人組建起了最初的 LibRec 核心開發團隊,并不斷擴充團隊。

2016 年 12 月,郭貴冰團隊發布了 LibRec 2.0 版本。經過一年多的開發之后,郭貴冰團隊又在今日發布了 LibRec 3.0 版本。

▌LibRec 的特點

LibRec是基于 Java 的開源算法工具庫,覆蓋了 70 余個各類型推薦算法,有效解決評分預測和物品推薦兩大關鍵的推薦問題。

1)豐富的算法

截止到目前,LibRec已經集成了70余個推薦算法。具體包括基準算法,協同過濾算法,基于內容的算法,基于情景感知的算法,混合算法以及其他擴展算法等。同時算法中也包含了概率圖模型,張量分解模型,因子分解機,深度學習中的 RBM 模塊等算法。LibRec 中包含的所有算法均已歸類并注明實現參考文獻。

2)良好的模塊化

目前LibRec中最主要的模塊為DataModel,Recommender,Evaluator與Filter,分別負責數據的預處理,推薦模型的訓練,模型的執行,輸出結果的過濾。

3)靈活的框架配置

不同算法的配置項因配置項不同,所以每一個推薦算法分別對應一個配置文件。方便管理的同時也方便用戶根據算法的執行結果來調參。目前 LibRec 已經針對所有算法配置好了默認參數

4)簡單的框架用法

LibRec 分別提供了 Linux 和 Windows 版本的命令行工具。用戶可以根據 LibRec 提供的手冊來編寫配置文件,并使用命令行來執行算法。最終評估結果在終端中輸出,推薦結果根據配置文件生成在相應目錄下。

▌LibRec 3.0

經過一年多的開發,LibRec 3.0 在原版本的基礎上增加了許多新特性,特別是對如今流行的深度學習、集成學習等算法的支持。

1)深度學習算法

深度學習能夠使用RNN循環神經網絡對動態或者序列數據進行建模,并且可以更加準確的學習user和item的特征。DeepLearning4J(DL4J)是一套基于Java語言的神經網絡工具包,可以構建、定型和部署神經網絡。DL4J 與 Hadoop 和 Spark 集成,支持分布式 CPUGPU,為商業環境(而非研究工具目的)所設計。結合 DL4J,郭貴冰團隊開發了深度學習算法模塊。

2)POI 算法

POI 算法主要是指對用戶興趣點推薦(Point Of Interest)。根據用戶在社交網絡中的興趣和地理位置信息,分析用戶的標簽屬性和地理偏好,給用戶推薦合適的出行地點。基于地理位置,郭貴冰團隊實現了 POI 算法模塊。

3)增量更新算法

增量更新主要是提高推薦算法時效性,傳統的個性化推薦系統,采用定期離線對數據進行分析的做法來更新模型。實時個性化推薦實時分析用戶產生的數據,可以更準確地為用戶進行推薦,同時根據實時的推薦結果進行反饋,更好地改進推薦模型。增量更新模塊實現了部分推薦算法的增量更新功能。

4)集成學習算法

集成學習在機器學習算法中具有較高的準確率,不足之處就是模型的訓練過程可能比較復雜,效率不是很高。集成學習是使用一系列學習器進行學習,并使用某種規則把各個學習結果進行整合從而獲得比單個學習器更好的學習效果的一種機器學習方法。增量更新模塊實現了部分推薦算法的增量更新功能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2974

    瀏覽量

    105135
  • GitHub
    +關注

    關注

    3

    文章

    473

    瀏覽量

    16564

原文標題:集合70多種推薦算法,東北大學老師用Java寫了一個開源庫,在GitHub上收獲近1500個Star

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何使用mbedtls開源

    概述本篇文章介紹如何使用STM32HAL,這篇文章只要是講如何使用mbedtls開源,實現 1、base64編碼,2、AES加解密示例。怎么樣移植mbedtls開源
    發表于 08-11 08:12

    STM32 Foc開源算法是什么

    STM32 Foc開源算法,包括觀測器和Foc method STM32F0系列FOC 源代碼,有單電阻采樣和三電阻采樣兩種代碼。都是ST很經典算法,代碼學習,無感算法觀測器是
    發表于 09-06 08:09

    算法開源相關資料下載

    ,和大津法,這一章介紹圖像邊界提取。這里我的算法是基于逐飛開源的灰度圖算法的,但也在上面改進了許多,使得邊界的搜取不會出現丟邊。一、灰度邊界提取的原理 在我們獲取攝像頭的數據后,返回
    發表于 01-14 08:27

    JAVA語言的工具類與算法

    JAVA語言的工具類與算法6.1 語言基礎類;            
    發表于 12-14 20:34 ?66次下載

    基于FCM算法的隱分析算法綜合評估

    從與圖像隱分析算法評估相關的問題入手,分析隱分析算法評估的指標,利用FCM 算法實現對各種隱
    發表于 03-24 09:38 ?5次下載

    基于三元Golay隱碼的快速隱算法

    研究GF(3)上的編碼方法,利用三元Golay碼給出一種GF(3)上的隱碼,其隱性能較常見二元隱碼有顯著提高。提出基于三元Golay隱
    發表于 04-08 08:46 ?26次下載

    Java數據連接及網絡程序設計

    Java數據連接及網絡程序設計 一、實驗目的:      通過Socket編程,掌握網絡應用程序的開發方法;完成數據的連接;掌握利用
    發表于 12-05 23:56 ?1462次閱讀

    Java數組與算法試題

    Java數組與算法試題Java數組與算法試題Java數組與算法試題
    發表于 01-15 16:16 ?0次下載

    JAVA教程之顯示多種字體

    JAVA教程之顯示多種字體,很好的學習資料。
    發表于 03-31 11:13 ?5次下載

    Java最著名的開源項目

    Java最著名的開源項目
    發表于 03-19 11:23 ?0次下載

    百度開源項目推薦java圖標

    ECharts是一款由百度前端技術部開發的,基于Java的數據可視化圖表,提供直觀,生動,可交互,可個性化定制的數據可視化圖表。 提供大量常用的數據可視化圖表,底層基于ZRender(一個全新
    發表于 09-28 14:52 ?0次下載
    百度<b class='flag-5'>開源</b>項目推薦<b class='flag-5'>java</b>圖標<b class='flag-5'>庫</b>

    Oracle開源Java EE

    近日,Oracle在其官方博客上宣稱,隨著Java EE 8的可喜進展,Oracle接下來在考慮如何讓Java EE更開放、更加貼近開源社區。言下之意,Oracle要讓出Java EE
    發表于 09-28 16:04 ?0次下載

    多種區塊鏈挖礦算法開源硬件

    電子發燒友網站提供《多種區塊鏈挖礦算法開源硬件.zip》資料免費下載
    發表于 02-07 14:52 ?0次下載
    <b class='flag-5'>多種</b>區塊鏈挖礦<b class='flag-5'>算法</b><b class='flag-5'>開源</b>硬件

    Java算法大全源碼包開源源碼

    Java算法大全源碼包開源源碼
    發表于 06-07 14:58 ?1次下載

    Meta發布CodeLlama70B開源大模型

    Meta發布CodeLlama70B開源大模型 Meta發布了開源大模型CodeLlama70B,號稱是CodeLlama系列體量最大、性能最強的大模型。 Code Llama
    的頭像 發表于 01-31 10:30 ?1475次閱讀
    百家乐官网对付抽水| 百家乐官网娱乐平台真人娱乐平台 | 百家乐官网玩法及细则| 闲和庄百家乐娱乐城| 百家乐玩法和技巧| 百家乐官网专打单跳投注法| 大发888娱乐场下载sampling id112| 金盈会百家乐现金网| 连环百家乐官网怎么玩| 线上真人游戏| 大发888娱乐送体验金| 网上百家乐打牌| 2402 房号 风水| 新时代百家乐官网娱乐城| 打百家乐官网的介绍| 大连百家乐商场| 百家乐庄家必赢诀窍| 网上百家乐新利| 杨公风水24山| 百家乐官网的看路技巧| 百家乐官网体育nba| 娱乐城开户送真钱200| 百家乐平注法到| 百家乐怎么玩才会赢钱| 百家乐游戏打水方法| 百家乐终端下载| 2404这个房号 风水| 百家乐官网娱乐下载| 百家乐官网翻天快播粤语| 百家乐官网代理新闻| 遂溪县| 多彩娱乐城| 娱乐城注册| 网上赌博| 乐天堂百家乐娱乐城| 真人版百家乐试玩| 百家乐官网庄闲和概率| 百家乐官网9人桌| 金百亿百家乐官网娱乐城| 百家乐官网翻天快播| 澳门百家乐官网下路写法|