機器學習中有哪些形式簡單卻很巧妙的 idea?

↑↑↑點擊上方藍字,回覆資料,10個G的驚喜


   
   
   
來源:機器學習與大數據挖掘

本文約1600字,建議閱讀5分鐘

本文介紹了幾種企業中簡單而適用的算法。



1. 異常檢查算法Isolation Forest(孤立森林)

作者:桔了個仔

https://www.zhihu.com/question/347847220/answer/836019446


原理超簡單,但檢測效果可以說是state of the art. 對一個空間進行二分,早劃分「孤立」出來的就是很可能異常的。「孤立」指的是這一邊只有這一個數據點。因爲是二分,我們可以構建一顆二叉樹。例如下圖的一棵樹,第一次二分,左邊有數據的a,b,c,右邊只有d,那麼d大概率就是異常點。爲啥?想想你畫一條線,把一把米分成了兩邊,左邊只有一粒,那左邊那粒很可能是離其他米粒很遠。 

爲了更直觀,有更多一步瞭解,請看下圖,直覺上我們就知道 [公式] 是普通點, [公式] 是異常點。那麼用Isolation tree怎麼解釋呢?

如果要把xi孤立出來,需要很11次劃線,而x0需要的次數要少很多。所以x0比xi更可能是異常點。一棵樹不夠可信?沒事,記得隨機森林random forest不?沒錯,這裏也引進一堆樹。如果多數的樹都在前幾次分割時分出同一個點,那麼這個點是異常點的概率就非常高了。


可以看到,樹的數量(橫軸)超過10時,平均分割次數(縱軸)就收斂了。從這個圖我們可以看出,某個點x0 被「孤立」前,平均分割次數低於5,那麼x0就是異常點。

原理是不是超級簡單呢。如果想了解更多數學上的原理,可以參考下面的參考文獻。


參考文獻:

https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf


2. word2vec

作者:檾鬱蓁

https://www.zhihu.com/question/347847220/answer/881216785 


2013年Mikolov的神作word2vec,目前兩篇paper的引用量已經達到15669和12670了!這個工作屬於nlp預訓練和graph embedding的里程碑,而且思想還賊好理解。

word2vec的思想可以簡單的歸結爲一句話:利用海量的文本序列,根據上下文單詞預測目標單詞共現的概率,讓一個構造的網絡向概率最大化優化,得到的參數矩陣就是單詞的向量。

具體來說,對於Skip-Gram模型,就是給定句子中一個特定的詞(input word),隨機選它附近的一個詞,網絡的目標是預測選到這個附近詞的概率。而對於CBOW模型則相反。而對於一個單詞,先作one-hot,乘以參數矩陣,就得到了單詞的向量表示,一圖勝千言: 


更加細緻的negative sampling和hierarchical softmax都是針對訓練問題的優化,但這一思想的本質就是很簡單優雅。

舉個簡單的例子:詞表大小爲9的一段文本序列one-hot,乘以一個參數矩陣(藍色部分),做均值pooling,乘以一個參數矩陣然後經過softmax層得到對應目標單詞的概率向量(最後的紅色部分),向量維度爲詞表大小,再根據ground truth反向傳播優化參數矩陣,最後得到的就是類似圖1的參數矩陣,列爲詞表大小9,行爲詞向量的維度4(注意:參數矩陣方向跟圖1反過來了)。 


word2vec在nlp領域的應用就不用說了,目前已經成爲所有nlp模型的標配步驟。

更令我喫驚的是它在其他領域的遍地開花。這裏整理一下最近幾年在其他領域的embedding工作合集,全部是頂會!全部都有落地!就是這麼簡單粗暴而優雅!


3. 成分分析(Principal components analysis,PCA)

作者:Evan
https://www.zhihu.com/question/347847220/answer/871450361


4. Residual learning


作者:我愛喫三文魚  
https://www.zhihu.com/question/347847220/answer/854604632

Kaiming大神的Residual learning: 

形式:y = f(x) + x

影響了後續的3萬份研究工作。

5. SVM

作者:Cuute
https://www.zhihu.com/question/347847220/answer/874707947

我不知道svm的形式算不算簡單,但是從圖上來講很直觀。



這個小東西是上個世紀六七十年代就已經提出來的一個想法。通過不同類別分界的某些點來畫出一個分割面,進而實現了分類。很像夾逼定理。

svm的精巧在於這個想法,是一個很自然的方法,不用數學光看圖就能看出來的一個方法。並且能很自然的去發散。

比如說,圖中的兩個類別的邊界極其明顯,是一個線性的邊界。但是一定會存在這樣的兩類點,不能在當前的平面上使用一個線性的分類來解決。那麼如果這些點只是三維向二維平面的投影呢?

如果這兩類點是有高度差的,那麼是不是有可能還會找到一個分界面在三維空間進行分類?

三維找不到,那會不會是四維……

於是,我們引出了核方法。

最後,你覺得機器學習中有哪些形式簡單卻又很巧妙的 idea?歡迎留言評論~

原文鏈接:

https://www.zhihu.com/question/347847220

 
    
    
    
也可以加一下老胡的微信
圍觀朋友圈~~~


推薦閱讀

(點擊標題可跳轉閱讀)

我愛線代,線代使我快樂

麻省理工學院計算機課程【中文版】

【清華大學王東老師】現代機器學習技術導論.pdf

機器學習中令你事半功倍的pipeline處理機制

機器學習避坑指南:訓練集/測試集分佈一致性檢查

機器學習深度研究:特徵選擇中幾個重要的統計學概念

老鐵,三連支持一下,好嗎?↓↓↓


本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章