俄羅斯最大搜索引擎Yandex開源了一款梯度提升機器學習庫CatBoost
現在,人工智能正在為越來越多的計算功能提供支持,今天,俄羅斯搜索巨頭Yandex宣布,將向開源社區提交一款梯度提升機器學習庫CatBoost。它能夠在數據稀疏的情況下“教”機器學習。特別是在沒有像視頻、文本、圖像這類感官型數據的時候,CatBoost也能根據事務型數據或曆史數據進行操作。
今天,CatBoost以兩種方式進行了亮相。
首先,Yandex宣布,將在自有服務中使用這款新的框架替換原來的機器學習算法MatrixNet。MatrixNet一直被應用在公司的很多業務上,比如排名、天氣預報、出租車和推薦業務。現在,業務正在逐步從MatrixNet切換到CatBoost上來,並將延續幾個月。
其次,Yandex將免費提供CatBoost庫,任何希望在自己的程序中使用梯度提升技術的人員都可以在Apache許可證下使用這個庫。 Yandex機器智能研究主管Misha Bilenko在接受采訪時表示:“CatBoost是Yandex多年研究的巔峰之作。我們自己一直在使用大量的開源機器學習工具,所以是時候向社會作出回饋了。” 他提到,Google在2015年開源的Tensorflow以及Linux的建立與發展是本次開源CatBoost的原動力。
Bilenko補充說到,暫時還沒有計劃將CatBoost商業化,或以任何專利的形式將其閉源。 “這和競爭對手無關,”他說,“我們很高興有競爭對手使用它”
長期以來,隨著Yandex的不斷發展,它一直在尋求提升俄語世界之外的國際地位。本次開源舉動不僅僅是Yandex對開源社區的承諾,而且也展示了Yandex希望成為大型科技公司與開發者社區發展中心的決心。
就像Google持續地擴展和更新Tensorflow一樣,今天的CatBoost版本是其第一個版本,以後將持續更新迭代。目前,這個庫主要有三個特點:
“減少過度擬合”:這可以幫助你在訓練計劃中取得更好的成果。它基於一種構建模型的專有算法,這種算法與標準的梯度提升方案不同。
“類別特征支持”:這將改善你的訓練結果,同時允許你使用非數字因素,“而不必預先處理數據,或花費時間和精力將其轉化為數字。”
“API接口支持”:可以通過命令行或者基於Python或R的API接口來使用CatBoost,包括公式分析和訓練可視化工具。
雖然目前有大量的庫可以利用梯度提升或其他解決方案來訓練機器學習係統,但Bilenko認為,CatBoost相較其他大型公司使用的框架(如Yandex)的最大優點是測試精準度高。
“有很多機器學習庫的代碼質量比較差,需要做大量的調優工作,”他說,“而CatBoost隻需少量調試,就可以實現良好的性能。這是一個關鍵性的區別。”
附CatBoost開源代碼地址: https://catboost.yandex/
文章原標題《Yandex open sources CatBoost, a gradient boosting machine learning library》,作者:Ingrid Lunden,譯者:夏天,審校:主題曲。
文章為簡譯,更為詳細的內容,請查看原文
最後更新:2017-07-21 09:02:41