機器學習常見算法概述

本文主要包括常見機器學習算法的實現,其中數學推導、原理、並行實現會給出鏈接。

機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演繹。

1、K近鄰(KNN)

算法


逼近離散值函數f的KNN算法

修改目標函數,則可以逼近連續值的目標函數

可以使用距離加權

其中

實現

(1)C++版本 http://blog.csdn.net/mimi9919/article/details/51172095
(2)python版本 可以參考機器學習實戰

2、感知機

一篇介紹感知機原理很不錯的文章:http://blog.csdn.net/dream_angel_z/article/details/48915561

感知機的損失函數是誤分類點到超平面的距離

算法


實現

(1)C++版本 http://blog.csdn.net/idmer/article/details/49365301

3、樸素貝葉斯

算法

實現

(1)C++版本 http://blog.csdn.net/idmer/article/details/48809677

4、分類迴歸樹(CART)

CART由ID3,C4.5慢慢演化而來,是許多基於樹的bagging、boosting模型的基礎,非常重要。

算法


其中,5.25如下

實現

(1)C++版本 http://blog.csdn.net/a819825294/article/details/51995323
(2)python版本 可以參考機器學習實戰

5、邏輯斯蒂迴歸(LR)

算法

(1)模型參數估計

(2)梯度下降學習參數

(3)最終模型

更多原理

http://blog.csdn.net/a819825294/article/details/51172466

實現

(1)C++版本 http://www.chawenti.com/articles/15254.html
(2)python版本 可以參考機器學習實戰

分佈式

http://www.csdn.net/article/2014-02-13/2818400-2014-02-13

6、支持向量機(SVM)

算法


更多原理

http://blog.csdn.net/a819825294/article/details/51679152

實現

(1)C++版本 libsvm
(2)python版本 可以參考機器學習實戰

7、神經網絡(NN)

算法

實現

(1)C++版本 https://github.com/matthewrdev/Neural-Network

8、隨機森林(RF)

算法

更多原理

http://blog.csdn.net/a819825294/article/details/51177435

實現

(1)C++版本 http://download.csdn.net/download/qq_17506541/8866653

9、AdaBoost

算法


實現

(1)C++版本 http://blog.csdn.net/a819825294/article/details/51995323
(2)python版本 可以參考機器學習實戰

10、梯度提升樹(GBDT)

算法


更多原理

http://blog.csdn.net/a819825294/article/details/51188740

實現

(1)C++版本 http://blog.csdn.net/a819825294/article/details/51995323

11、XGBoost

更多原理

http://blog.csdn.net/a819825294/article/details/51206410

實現

https://github.com/dmlc/xgboost

12、KMeans

算法

實現

(1)C++版本 http://blog.csdn.net/qll125596718/article/details/8243404

13、PCA

算法

參考文獻
(1)《機器學習》 卡內基梅隆大學 Tom M.Mitchell
(2)《機器學習》 周志華
(3)《統計學習方法》 李航

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章