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