1. 機器學習 明白一些基本概念
什么是機器學習
研究如何通過計算的手段,利用經驗來改善系統自身的性能
通俗來講,讓代碼學着干活
特征:自變量
標簽:因變量
學習的種類
有監督學習:提供標簽,分類、回歸
無監督學習:無標簽,聚類
增強學習:也稱強化學習,馬爾科夫決策過程(Markov Decision Processes,MDP)
主動學習:邊學習邊標注
遷移學習:從一個域(Domain)遷移(Transfer)到另一個域
集成學習:Ensemble,三個臭皮匠賽個諸葛亮,Boosting和Bagging
兩大痛點
維度災難:數據量和特征數
過擬合:模型泛化能力
學習的流程
預處理:數據重塑、缺失值處理(補全、統計為缺失特征)
特征工程:特征沒做好,參數調到老。在已有的特征上生成新的特征,數值、類別
特征選擇、降維:基於MIC、Pearson相關系數、正則化方法、模型,PCA、tSNE
訓練模型、調參:單模型,多模型融合,集成
評估模型:正確率(Acurracy)、准確值(Pecision)、召回值(Recall)、F值、AUC
代碼實現
你需要的都在這里:http://scikit-learn.org/
用機器學習來賭香港賽馬
https://www.zhihu.com/question/35131866/answer/152880313
https://www.kaggle.com/lantanacamara/hong-kong-horse-racing
2. 機器學習 常用經典模型及其實現
常用經典模型
1.線性回歸:有監督回歸,y=WX+b,X為m維向量,y、b為n維向量,W為n*m維矩陣
2.Logistic回歸:有監督回歸,y=logit(WX+b)
3.貝葉斯:有監督分類,最可能的分類是概率最大的分類
4.k近鄰:有監督分類,kNN,距離的定義
5.決策樹:有監督分類,樹形判斷分支,非線形邊界,+集成=隨機森林
6.支持向量機:有監督分類,將原空間變換到另一空間,在新空間里尋找margin最大的分界面(hyperplane)
7.k-means:無監督聚類,初始化中心,不斷迭代,EM算法
8.神經網絡:有監督和無監督都有,詳情參見下一章,深度學習
實現之前的准備
安裝scikit-learn:http://scikit-learn.org/
sklearn、numpy
>>> from sklearn import svm
>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
>>> clf.predict([[2., 2.]])
array([1])
一個簡單的例子:http://scikit-learn.org/stable/auto_examples/svm/plot_iris.html#sphx-glr-auto-examples-svm-plot-iris-py