說說機器學習

jopen 8年前發布 | 28K 次閱讀 數據挖掘

這兩年機器學習的概念一直很火,無人車、人臉識別、語音識別,似乎無所不能。但有一點被忽略了,“機器學習”算法只是眾多算法的一種,和快速排序、red-black BST 一樣,它有自己獨特的應用場景,而且只能在這個場景中使用。而且請注意,它并不像排序算法一樣,可以保證百分之百的可用性,它的邊界是有問題的。它更像那些固定算法的一個擴展,機器不用精確去執行程序代碼的每一行,在程序以外,它提供給我們一些努力之外的驚喜。

上過「Machine Learning」公開課的人都知道 Andrew Ng,他現在在百度做無人車。個人覺得無人車應用到民用領域還需要漫長的過程,或許得等到人工智能的理論有進展性的突破之后,現在的機器學習算法并不能保證完全的安全可靠性。這些算法更像一個黑盒,通過學習先驗知識形成一個黑盒,然后拿著這個“錘子”去到處找“釘子”。當然,人也像一個黑盒,從出生開始不斷的學習,建立起完備的知識系統。拿駕照,把車開上五環...(請自行腦補,啊啊啊,五環...)。為什么機器就不能和人一樣開上高速公路呢?不是不能,是機器的復雜性和運算能力不夠,對復雜環境的處理和預判能力有限。

在「Machine Learning」公開課中,NG 講了機器學習的入門知識,包括基本的線性代數,概率論,神經網絡。機器學習像是基本的數學在工程領域的特定應用。就像吳軍在「數學之美」中介紹的 PageRank 算法,布隆過濾器一樣。給人的感覺不是復雜,而是簡單優雅。羅素好像說過一句話,

Pure as jade, pure as stone.

然而好像是我自己編的...

再來看看機器學習算法的典型應用場景。

商品購買預測

有這樣一個場景:假如你昨天晚上在淘寶上逛,看了一束鮮花(當然是因為今天是...,然而可能并沒有什么用...),你瀏覽了此商品 100 遍;還有另一個人將此商品加入了購物車。我們可以明顯的得出,這兩個人今天都有極大可能會買這件商品。

現在淘寶官方給出了上個月 1.14 號到這個月 2.13 號百萬用戶移動端(手機,平板)的行為數據,包括在淘寶上瀏覽、收藏、加購物車、購買這四種行為,我們怎么去預測在 2.14 號這一天有多少人,什么人會購買這束鮮花呢?最簡單直接的方法是直接預測昨天把鮮花加入購物車的人會買。這樣會有一定的準確率,因為加購物車對購買行為來說是很直接的特征。但這種方法不是最優的。不然阿里招算法工程師做甚。

用戶的四種行為(瀏覽、收藏、加購物車、購買)都會對他的后一天的行為產生影響,至于什么影響就要分析數據了。

上面描述的這個場景是阿里的 移動推薦算法競賽 。官方給出了百萬用戶對部分商品的行為數據。我們需要做的是對這些數據建立一個預測模型,然后用這個模型去預測哪個用戶購買哪個商品。至于具體的做法,需要了解機器學習算法和特征工程,建議學習公開課「Machine Learning」。細節這里不進行闡述。

做的最好的小組預測的準確率高達 10%,也就是說 100 人中有 10 人會購買這束鮮花。知道這個之后,賣家可以開始補貨,結合用戶所在地對倉庫配額,甚至增加對這些地區的帶寬。技術真是生產力啊。

作者鑒別

作者鑒別,咦,是不是可以鑒別韓寒的「光明與磊落」是不是原稿?是不是可以去找出某四的「幻城」抄的哪本日本漫畫?抱歉,你為什么不去電影院看「澳門風云3」...啊,你在電影院里刷公眾號啊...

在學界一般認為(我也這樣認為),「紅樓夢」后 40 回并非曹雪芹所著。本文嘗試應用機器學習的方法分析原著文本中作者的用詞習慣,從技術角度去說明「紅樓夢」前 80 回和后 40 回的寫作風格差別,繼而可以確認后 40 回非原作者所寫。

每個作者寫作都有自己的用詞習慣和風格,即使是故意模仿也會留下很多痕跡。在文言文中,文言虛詞(如,之乎者也)分布均勻,書中每個回目都會出現很多文言虛詞,差別在于出現頻率不同,我們可以把文言虛詞的出現頻率作為作者的風格特征。

不只文言虛詞,還有其他的詞在所有回目中出現頻率很多。比如對第 80 回進行詞頻統計,得到這些詞的出現次數:

了:172 的:142 我:70 寶玉:65 你:61 道:54 他:51 也:50 著:48 是:40 說:38

這些高頻詞匯也可以作為特征。

本文將 20~29 回(詩詞曲比較均衡)作為類別 1 的學習樣本,將 110~119 回作為類別 2 的學習樣本。將兩個類別的特征向量輸入到 SVM(支持向量機)進行訓練得出一個分類模型。再對剩余回目進行分類,看它們分別偏向于哪個類別。SVM 相關原理參見 NG 的公開課 Machine Learning 和 scikit-learn 庫。

相關學術論文參見

施建軍. (2011). 基于支持向量機技術的《 紅樓夢》 作者研究. 紅樓夢學刊, (5), 35-52. 李賢平. (1978).《紅樓夢》成書新說. 復旦學報(社會科學版).

運行程序后得到下面的結論

1~80

[ 1. 1. 1. 1. 1. 2. 2. 1. 1. 2.

2. 1. 1. 1. 1. 1. 1. 1. 1. 1.

1. 1. 1. 1. 1. 1. 1. 1. 1. 1.

1. 1. 1. 1. 1. 1. 1. 1. 1. 1.

1. 1. 1. 1. 1. 1. 1. 1. 1. 1.

1. 1. 1. 1. 1. 1. 1. 1. 1. 2.

2. 2. 1. 1. 1. 1. 1. 2. 1. 1.

1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

</div>

81~120

[ 1. 1. 2. 1. 1. 2. 2. 1. 1. 2.

1. 2. 2. 2. 2. 2. 2. 1. 2. 2.

1. 2. 2. 2. 2. 2. 2. 1. 2. 2.

2. 2. 2. 2. 2. 2. 2. 2. 2. 2.]

</div>

1 指該回目屬于類別 1,2 指該回目屬于類別 2。可以得出結論

  • 前 80 回屬于一類,后 40 回屬于一類
  • 80 回左右是分界點
  • 后 40 回風格不同于前 80 回

81~120 回中有一些被分成了 1 類,這與特征選取有關,還與使用的原著版本有關。這里的版本是網上下的電子版,版本不明,建議使用人民文學出版社 1982 年出版的「紅樓夢」作為研究對象。1~80 回有一些被分成了 2 類,可能是后 40 回作者在續寫過程中對部分章節進行了修改。

由這兩個場景可以更深一層理解機器學習的典型特性。

機器學習的重點不在于機器,而在于學習。—— 馬塞爾·普魯斯特

</div> </div>

來自: http://fuzhii.com/2016/02/15/about-ml/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!