為什么基于機器學(xué)習(xí)的產(chǎn)品很難見到?
大數(shù)據(jù)甚囂塵上了三四年,如今創(chuàng)業(yè)不講機器學(xué)習(xí)和數(shù)據(jù)挖掘都不好意思跟投資人介紹。但現(xiàn)實情況是,你在市面上見過多少套已經(jīng)產(chǎn)品化的基于機器學(xué)習(xí)的軟件?鳳毛麟角??峙潞芏酀M嘴術(shù)語的從業(yè)者都不明白,作不到預(yù)測的機器學(xué)習(xí)都是在忽悠。而能實現(xiàn)預(yù)測的產(chǎn)品,說難不難,可是門檻不低,能做出來的創(chuàng)業(yè)團隊不多見。
【本文中人稱指代純粹為修辭手法,部分文字有嘲諷含義,夸張更是必不可少,不喜勿入?!?/p>
那些漫天飛的所謂大數(shù)據(jù)分析報告,不是數(shù)據(jù)挖掘,更不是機器學(xué)習(xí)。類似本文所配題圖是不是經(jīng)常出現(xiàn)在大部分機器學(xué)習(xí)的文章中?事實是,完成這樣的工作,不需要機器學(xué)習(xí),只需要簡單計數(shù)器,青鳥集訓(xùn)幾個月的分分鐘搞定。
你覺得深度學(xué)習(xí)很牛啊,連圖片和聲音識別都搞得很好了,搞些文本識別有啥意思??珊苌儆腥颂拱赘嬖V你,到目前為止,深度學(xué)習(xí)尚未在自然語言處理中有突破進展,NLP比圖像和語言識別實際上更難。圖像和語音識別出來是啥?還是文本?,F(xiàn)在企業(yè)里至少95%以上的重要數(shù)據(jù)還是文本,做產(chǎn)品的能不去覆蓋?
現(xiàn)在做數(shù)據(jù)挖掘和機器學(xué)習(xí)的人員供不應(yīng)求,BAT3四處高薪挖角,用過幾個開源庫的就號稱是熟手,價碼高得離譜。一提機器學(xué)習(xí)不就是聚類分類嘛。“聚類我懂啊,k-means天天用。”還不說讓你改進算法,你真嘗試過用它做個產(chǎn)品出來嗎?拿個開源的模塊攢出一個Demo,到客戶那里實測。一個相同的測試數(shù)據(jù)集,產(chǎn)品跑三遍,聚類結(jié)果沒有相同的。用戶當(dāng)時就蒙了,相同的數(shù)據(jù)還能有不同結(jié)果?你振振有詞地解釋:“k-means算法就這樣啊,運算前要猜分類的個數(shù),干脆就給個隨機數(shù),另外,也得給幾個隨機初始中心點,這樣下來,每次跑聚類結(jié)果不一樣太正常不過了。這是你不懂。我在哪哪哪就是這么用的!”用戶合情合理的對產(chǎn)品常見的基本要求一下就被你歸到無理那類去了。
互聯(lián)網(wǎng)公司自己使用的機器學(xué)習(xí)引擎,都尚未產(chǎn)品化,甚至連產(chǎn)品化預(yù)期都沒有。隔段時間修修補補,換一個訓(xùn)練和測試集,改兩個算法細節(jié),調(diào)三個參數(shù),這些在產(chǎn)品研發(fā)里十分忌諱的行為司空見慣。反正系統(tǒng)也不會拿出去用,一般用戶都只能接觸到一點點運算結(jié)果,學(xué)術(shù)界也還在摸著石頭過河,是不是有穩(wěn)定結(jié)果也無所謂,財大氣粗的deep learning隨隨便便搞上千個計算節(jié)點,只要召回率有改善就是極大的勝利。在這樣氛圍里工作的工程師出來自己創(chuàng)業(yè)能做出產(chǎn)品來嗎?
那個知乎上得票第一的回復(fù)說,看完公開課的水平已經(jīng)足夠應(yīng)付灣區(qū)的工作了。是,完全同意,如果你只想當(dāng)一輩子底層碼農(nóng),只想當(dāng)大公司大項目里一顆可有可無的螺絲釘,不想有機會主持一個產(chǎn)品的設(shè)計和實現(xiàn)。要知道,那些大公司里也有很多研究統(tǒng)計和AI科班出身的。
想做機器學(xué)習(xí)的產(chǎn)品,不會調(diào)算法那是不可能的,基礎(chǔ)的數(shù)學(xué)不過關(guān)根本理解不了算法還談什么調(diào)整。很少有人能告訴你在某個特定場景下針對特定數(shù)據(jù)集用哪個算法更合適,這是個全新的領(lǐng)域,需要你自己去理解業(yè)務(wù)特征并選擇試驗不同算法以獲得最優(yōu)結(jié)果。如果想開發(fā)一個優(yōu)秀的機器學(xué)習(xí)產(chǎn)品,你需要一個優(yōu)秀的產(chǎn)品+設(shè)計+科研+工程師團隊來解決各方面的細節(jié)問題:從機器學(xué)習(xí)理論、到系統(tǒng)構(gòu)建、到專業(yè)領(lǐng)域知識、到宏觀產(chǎn)品思路、到技術(shù)細節(jié)實現(xiàn)、到圖形界面設(shè)計等等。
是,更多的數(shù)據(jù)勝過更好的算法。你要做網(wǎng)絡(luò)行為異常分析用以偵測攻擊,覺得采集了大數(shù)據(jù)就已經(jīng)勝利在望??墒呛懿恍业?,你手里的大數(shù)據(jù)基本全是正常行為,異常只是很少數(shù)。然后,你意識到正統(tǒng)的分類算法對類別平均分布的訓(xùn)練數(shù)據(jù)學(xué)習(xí)效果好,對這種不平衡的訓(xùn)練集很容易出現(xiàn)偏差(能意識到這點已經(jīng)不容易了,常見的都是直接調(diào)開源庫硬上)。這時候不懂理論怎么搞?還有,海量數(shù)據(jù)的特征維度太多,你到底應(yīng)該選哪些特征用以計算?接下來讓你構(gòu)建一個分類器實時預(yù)測網(wǎng)絡(luò)攻擊,只能拿到一個時間窗口里的數(shù)據(jù),這跟大數(shù)據(jù)有啥關(guān)聯(lián)?到這里,你就會發(fā)現(xiàn)扎實的基本功是做機器學(xué)習(xí)產(chǎn)品的必要基礎(chǔ)。
Gartner說數(shù)據(jù)分類是以數(shù)據(jù)為中心的安全的基礎(chǔ),最近拿了那么多融資的Digital Guardian也把數(shù)據(jù)分類一直掛在口頭,可它做出來了基于機器學(xué)習(xí)的分類器嗎?用戶手里拿著上億條數(shù)據(jù)使用的日志,完全不知道哪些才是關(guān)鍵數(shù)據(jù),必須借助分類器才可以發(fā)現(xiàn)風(fēng)險。根據(jù)實際的大客戶案例,基于自然語言處理和機器學(xué)習(xí)的產(chǎn)品,才能真正有效實現(xiàn)數(shù)據(jù)分類。
其實還有很多可以寫,限于篇幅,以后再聊。