機器學習如何在大數據土壤上播種 | 課堂筆記

機器學習如何在大數據土壤上播種 | 課堂筆記

來自專欄人工智慧學習筆記

如果我們將大數據比喻成土壤,那麼機器學習就好比是種菜。無論是下棋還是自然語言翻譯,它們都是成長在大數據土壤下,被機器學習技術孕育出來的莊稼。

本文要點:

面對實際問題,我們如何運用機器學習技術?

機器學習能做什麼?不能做什麼?

機器學習有哪幾種分類?

機器學習和人類學習有哪些不同?

一、機器學習的重要性

國外著名媒體Venture Scanner對957家人工智慧公司進行了分析調查,從下圖的數據結果中不難看出,人工智慧領域機器學習行業類型的公司數量遙遙領先,這也從另一個方面反映了人工智慧大熱的最主要的驅動力就是機器學習,也可以說機器學習是人工智慧的基礎。

在2016年10月,Google公司發布了十幾款人工智慧產品,並在內部作出重大變革。

在2016年10月,Google公司發布了十幾款人工智慧產品,並在內部作出重大變革。

  • 機器學習忍者計劃

這個項目是對谷歌內部員工開放的培訓,請一些機器學習的專家來傳授他們人工智慧的知識,來提升產品的智能化程度,他們的目標是要用機器學習來代替所有的業務。

  • 特徵元素周期表

Google已經痛下決心,決定用機器學習來取代所有的傳統業務。比如Google的RankBrain演算法就替代了Google的看家演算法PageRank。PageRank是利用超級連接結構對所有的網站進行排序,而RankBrain則是通過機器學習演算法,綜合考慮上百個特徵對網頁進行排序。通過這個表可以更精準的對網站進行排列,點擊率更高的網站排名會越靠前。用機器學習人工智慧的方法去替代舊有的產品是谷歌堅持的目標。

傳統的軟體行業領域存在著複雜性的災難,軟體開發團隊的任務就是製造簡單性的假象。往往表面上看起來很簡單的一個按鈕,背後卻是由許多複雜的代碼程序構成的。

如何去克服這種複雜性?

計算機之父馮·諾依曼在1958年出版了《計算機與人腦》一書,指出人腦與計算機最主要的區別是人腦用反應緩慢的軟體搭建了一個具有超強適應性,能靈活反應的整體系統。機器學習,正是一種克服複雜性的方法。

二、什麼是機器學習?

先來了解什麼是計算

計算就是在給定輸入,通過公式得到輸出的過程,而如何運算的過程就是程序。

什麼是機器學習

機器學習就是計算的反問題,逆運算。

機器學習可以把原來程序需要做的事情找出來,生成輸入與輸出中間的模型,它就像是一個應用程序編寫器。

舉例,在給定價格與時間的數據,要找到一條線使它穿過儘可能多的點,就是最簡單的機器學習——線性回歸。通過學習(訓練)過程找到線之後可以對未來的數據作出預測,繼而再通過比較預測數據與實際數據,計算模型預測的準確度,這一過程則被稱為測試,如下圖:

在更多的實際情況下,數據點的分布明顯不能夠使用直線去擬合,所以就需要使用到別的方式去做。還有的情況,輸入的數據並不止兩個參數,可能會有三個或以上的參數,那就需要用到更複雜的模型去實現,如下面兩幅圖片:

三、機器學習演算法

除了以上預測問題之外,再來介紹一下分類問題。

假定我們現在有這樣的一組數據,特徵值是腫瘤的尺寸,而決策變數是關於腫瘤是良性還是惡性的判斷,那要怎麼知道一個尺寸是1.5cm的腫瘤是良性還是惡性的呢?

我們通過把點放到坐標系中,通過Logistic函數找到上圖的這一條曲線,最後得出結果如果尺寸大於0.5則為惡性,小於0.5則為良性。

再來考慮多加入一個特徵值的情況,年齡,數據如下圖所示:

同樣道理,在三維的坐標系中進行曲線的擬合,將會得出下面的結果。

這裡的函數就相當於人類大腦中的一個神經元。

如果我們進一步做更多個神經元,可以做更多的分類問題,從而尋找最優的參數值,而神經網路就是把這些神經元超級複雜化的過程。

機器學習首先要輸入一堆數據,另外關鍵的是這些數據需要有標籤,標籤就是一個關於輸出結果的「標準答案」。通過上述的過程訓練好的模型就不再需要大數據了。

技術看上去很簡單,但是更重要的是機器學習不僅僅是技術,而是一種思維方式。那麼什麼是機器學習思維方式?

只管相關性,不管因果性,看似沒有關聯的因素之間,通過大量數據,機器學習得到一些難以察覺的結論。

例如,我們會認為那些街頭算命的人很不靠譜,單純憑藉簡單的相面怎麼能夠對這個人進行評價呢?然而,機器學習思維方式卻不這麼認為,只要面向和人的命運表現、性格特徵之間存在著一些微妙的聯繫,那麼我們就有可能利用機器學習的方式學習到這種隱含因果聯繫。

你可能會覺得這種想法幾近瘋狂,然而,最近美國聖母大學的一個團隊卻真的開發出了能夠「相面」的機器學習程序。它們通過分析大量的人類面部特徵圖像,給出了此人的年齡、智商、以及性格特徵的判斷。

再例如社交網站上的點贊數據可以暴露用戶的性格特徵。我們每個人在社交網站上進行互動的時候都會留下來一些行為軌跡數據。Facebook的研究人員就利用這些行為數據,通過大量的訓練,從而找到了點贊行為與用戶性格特徵之間的聯繫。甚至於隨著數據量的增大,機器學習演算法的判斷準確度會超過用戶自己。

四、機器學習問題的分類

我們可以將各式各樣的機器學習問題進行分類。首先,預測和分類這兩種有標籤的機器學習統稱為有監督學習,也就是數據之中都帶著標準答案的標籤。而在機器學習思維的延伸下,還存在一些其他的機器學習方式,特別是無監督的學習方式。

我們可以將這些機器學習問題劃分到四個象限上去,橫坐標軸是我們擁有數據量的大小,縱坐標軸是數據之中是否包含標籤數據。那麼有監督學習都位於上面的兩個象限。深度學習位於右上角的象限。

沒有固定標籤的限制,聚類分析可以自動的形成各種標籤,這種方法可以被廣泛運用於市場細分,社交網路分析等領域。

強化學習,可以通過自動學習標籤,加強某一標籤的學習。

特徵學習,與分類之間的區別就在於不是完全沒有標籤,而是能學習出標籤進行分類,深度學習之後,得到新的特徵與相關性。

深度學習演算法通常兼具特徵學習的功能。這是因為當我們用大數據訓練好一個深度學習網路之後,我們就可以在不同的網路層次抽取出不同層次的特徵,如下圖所示:

如圖所示一個深度神經網路,從上到下是數據從輸入到輸出的流動方向。經過大量的訓練之後,上層神經元記住的是小尺度、淺層次的特徵,中間的神經元記住的是局部輪廓特徵,而下面的高層神經元記住的則是更高級的概念。

從上面的描述和圖標可以看出,機器學習一般都需要大量的數據,而且對數據的質量有要求,當你無法獲得相關數據的時候怎麼辦呢?

遷移學習就是一個在數據稀缺情況下的解決方案,它的基本原理是藉助其他領域的數據來解決本領域數據稀缺的問題。作為一個例子,我們來看看科學家們是如何結合城市夜光圖和遙感街景圖來解決貧困問題的。

在非洲,很多地區都異常的貧困。發達國家也向非洲持續贊助了大量的資金,但卻不一定能投放到最需要幫助的地方。因為非洲貧困國家政府腐敗,私吞了大量的捐款。而且,由於數據的缺失,贊助者並沒有辦法知道究竟應該把錢投到哪裡。

於是,科學家們通過遙感數據,利用遷移學習,在缺乏貧困數據的情況下,推斷出了不同地區的貧困程度,從而從一定程度上解決了貧困贊助的問題。它們的做法是首先訓練一個深度網路根據遙感街景圖來預測該地區的夜光明暗程度,其次將這個網路的最後一層甩掉,並接上一個貧困預測的神經網路。這樣做之後,我們就可以將從遙感圖學習得到的特徵提取器遷移到貧困預測神經網路上面,從而以較高的準確度預測了貧困。

如果情況更糟,我們連遷移學習的方法都無法使用的時候,我們就只能結合推理和人類計算來加強機器學習。

最後,借鑒CrowdFlower的創始人Robin Bordoli總結的幾點關於人工智慧和機器學習的誤解和真相總結我們整個課程。

本文由 Jake 整理自《機器學習思維》課程筆記。

campus.swarma.org/vdeta (二維碼自動識別)

掃碼查看課程詳情

推薦閱讀:

圖解gradient的智能與learning rate的注意事項
「伊人」何處,宛在雲中央:用 Datalab 在雲上部署互動式編程環境
MLer必知的8個神經網路架構
邏輯回歸之損失函數與最大似然估計
6分鐘損失函數是約束實際生活行為的價值觀

TAG:機器學習 | 人工智慧 | 深度學習DeepLearning |