每一位數據科學家都應掌握的5大機器學習演算法
想成為數據科學家?
你得是個博聞強識,又對新鮮事物保持好奇心的人。
正因為如此,數據科學家會掌握幾乎所有的常見演算法,並精通其中一門,這樣可以快速適應新領域的問題。
今天我們就來聊聊,每一位數據科技家都應該了解的5大機器學習演算法。下面是關於普遍機器學習演算法和快速資源的風暴之旅,准好了嗎?
燒腦挑戰開始:
1. 主成分分析(PCA)/奇異值分解(SVD)
PCA是一種非監督學習,用來理解由向量組成的數據集的全局特性的方法。
這裡分析了數據點的協方差模型,用來了解哪些維度(大部分)/數據點(有時)更重要,即在它們自身之間具有高方差,但與其他變數時協方差較低。
這種思考模型主要用於考量具有最高特徵值的特徵向量。
此外,SVD本質上也是一種計算有序成分的方法,但你不需要通過獲取數據點的協方差矩陣來實現它。
這種演算法通過獲取已縮減維度的數據點,有助於解決多維度產生的衝擊。
2.1 最小二乘法和多項式擬合
還記得你在大學裡學的數值分析編碼嗎?通過擬合直線和曲線得到一個方程。
現在,你可以使用它們來適配機器學習中的曲線,用於非常小的低維數據集。
對於大數據或多維度的數據集,你可能會需要過度擬合,所以不用費心。
普通最小二乘法(OLS)具有封閉形式的解決方案,因此你不需要使用複雜的優化技術。
很明顯,你可以使用這種演算法擬合簡單曲線/回歸。
2.2 約束性線性回歸
最小二乘法可能會被數據中的離群點、假維度和雜訊干擾。
因此,我們需要用約束來減少數據集上擬合的線的方差。
正確的方法是擬合一個權重可控的線性回歸模型。
模型可以用L1正則(LASSO)或L2正則(Ridge Regression)或二者混合(elastic回歸)。
經過正則處理後對均方損失進行優化。
使用這些演算法擬合具有約束性的回歸線,避免從模型中過度擬合和掩藏干擾維度。
3. K-均值聚類
這是所有人都喜歡的非監督學習聚類演算法。
給定一組矢量形式的數據點,我們可以基於它們之間的距離生成數據點群。
它是一種期望最大化的演算法,反覆地移動群組的中心,然後聚集每個群組中心點。
此演算法所採用的輸入是生成群組的數量,並且它將嘗試彙集群組的迭代次數。
從名稱中就可以看出,你可以使用這種演算法在數據集中創建K集群。
4. 邏輯回歸
邏輯回歸是一種約束線性回歸,它的結果進行了非線性變換(常用的是sigmoid函數,或者tanh也可以),因此把輸出限制成了+/-類的輸出(在sigmoid中是1和0)。
交叉熵損失函數(Cross-Entropy Loss)用梯度下降法(Gradient Descent)優化。
對初學者來說,邏輯回歸用於分類,而不是回歸。
你也可以把邏輯回歸看作一層神經網路。
邏輯回歸通過使用梯度下降法或者L-BFGS演算法優化。
NLP自然語言處理者們通常把它稱之為最大熵分類器。
使用LR來訓練非常簡單,卻是十分強有力的分類器。
5.SVM(支持向量機)
SVM(支持向量機)是線性模型,類似線性/邏輯回歸。
不同之處在於它們具有不同的基於邊際損失函數(支持向量的推導是我所看到過的最美的數理成果之一,和特徵值的計算可以媲美)。
你可以使用諸如B-FGS甚至SGD等優化方法來優化損失函數。
文章與部分圖片來源於網路,如有疑問,請聯繫刪除
※2018年來說說機器學習
※「Google機器學習速成課程」您看了嗎?
TAG:機器學習 |