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