機器學習算法選擇
機器學習算法兩個重要的概念:
- 天下沒有白吃的午餐NFL(No Free Lunch):沒有一個學習算法可以在任何領域總是產生最準確的學習器。
- 概率近似正確PAC(Probably Approximately Correct):當訓練樣本足夠大時,“訓練準確率”與“預測準確率”的差值,超出容忍誤差範圍的概率非常小。當模型在訓練樣本表現很好時,就可以十分有把握地認爲它在“預測未來”時,表現一樣好。
上述算法沒有優劣之分,都僅適合特定的場景(選擇時Try & Test)。對於機器學習、人工智能以及大數據行業來說,不要過於迷信!
- 封閉可控的場景
- 輔助增強而不是替代人
- 巧妙利用數據而不是等待大數據
- 容錯機制而不過於依賴算法
迴歸
- 隨機梯度下降SGD(Stochastic Gradient Decent),當數據量特別大時,加快計算速度
- Lasso迴歸(L1範數),會將不重要特徵前的係數變爲0,即忽略不重要特徵。用於稀疏特徵,和PCA降維作用差不多(原理不同)。
- 嶺迴歸(L2範數),會將不重要特徵前的係數縮小接近0,即降低不重要特徵的影響,不完全忽略
- 彈性網絡(Elastic Net),L1範數和L2範數結合使用
- 組合迴歸器,相當於集成學習Boosting。
分類
- Logistics迴歸分類和支持向量機分類,前者相當於普通車,後者相當於寶馬
- 都不行就組合
聚類
-
不需要指定類別的聚類算法DB SCAN(基於密度的聚類算法),可以聚類任意形狀
-
變分貝葉斯混合高斯模型VBGMM(Variational Beyesian Gaussian Mixed Model),求出分佈密度,然後一般歸類爲最大概率的一類。
-
混合高斯模型GMM(Gaussian Mixed Model),常用於智能摳圖算法,前景後景分離。
降維
- 局部線性嵌入LLE(Locally Linear Embedding),試圖保持鄰域內樣本之間的線性關係,僅需要計算稀疏矩陣。
- 等度量映射ISOMAP,保持全局的結構信息,要求流形必須是凸結構。