找物件的過程中,我竟然理解了什麼是機器學習!

僱個城管打天下發表於2019-01-21

最近開始了有關機器學習方面知識的學習,自己啃書本的時候一些概念枯燥無味,所以藉著做筆記的機會來簡單理解其中的一些概念,如有謬誤,還望指出。?

什麼是人工智慧?

我看過很多部落格解釋什麼是人工智慧,我覺得還不如一句話一張圖解釋的簡潔明瞭。讓機器實現原來只有人類才能完成的任務,這個操作就是人工智慧。

下圖所示就是讓機器模擬人各種能力的人工智慧領域示意圖:(圖片我是在逛知乎的時候發現的,地址貼在文末)

找物件的過程中,我竟然理解了什麼是機器學習!

什麼是機器學習?

在解釋什麼是機器學習之前,我們先來舉一個讓每個程式設計師都頭疼的問題:

找物件

作為一個程式設計師,找物件自然是個非常緊迫的問題,那找物件總要有個要求吧?

找物件的過程中,我竟然理解了什麼是機器學習!

啥?活的?能動?骨骼輕奇的我怎麼可能只有這兩點要求啊?顯然我是希望找一個好的女朋友啊(畢竟要帶出去撐場面的啊),所以應該怎麼找呢?

愛美之心,人皆有之。長得好看的妹子肯定比長得醜的妹子更優秀啊,所以這時我就有了一個簡單的規則了:只挑選長得好看的女生的當女朋友。所以還等什麼?快去朋友圈看看哪些漂亮的女生還是單身啊。是不是So easy?

當!然!不!是!

生活總是充滿了艱辛

張無忌的麻麻說過:

找物件的過程中,我竟然理解了什麼是機器學習!

當你網戀奔現的時候你會發現,那些朋友圈裡的都是照騙,你懵逼了。。。很顯然,只看女生照片找物件這個方法是很片面的,找到一個好的女朋友的因素有很多而並不只是根據女生的顏值。

在經過了大量思考(並且參考了眾多好友的女朋友)之後,你又得出了一個結論:身材好同時顏值高的女生更容易吸引你。同時身材一般但顏值高的好友中只有一半左右能讓你感興趣。

這時你再帶著你得出的結論去找女生的時候,才知道原來妹子已經脫單好久,只是把你當朋友。。。但是心好的妹子為了安慰你便把她的閨蜜推給了你。然後你發現你之前的結論不適用了,所以只能重新開始約朋友圈的妹子。

假設過了好久好久之後,你成功的總結了一個找妹子的經驗,找到了一個優秀的另你滿意的妹子了,你很開心的和她在一起了。醜媳婦也要見公婆的,終於到了你把女朋友帶回家給家長見面的時候了,你爸媽說,這女生太漂亮了,你管不住,堅決反對。

在你爸媽的反對下,你只能選擇無奈的和妹子say goodbye?。最後的最後你和你爸媽攤牌,然後將你的擇偶規則告訴你的家人,在他們的篩選下,你終於找到了符合**“所有”**預期標準屬性的女朋友了。

是不是覺得很dan疼?

找物件的過程中,我竟然理解了什麼是機器學習!

回想一下上述的場景,是不是覺得十分dan疼,雖然最終結果是你找到了一個滿意的女朋友,但是在找物件的過程中,你需要不斷的更換標準(屬性),而且每當你需要用一個新的標準(屬性)去衡量一個妹子的時候,你只能手動更改你自己的規則。並且你需要了解所有繁雜的影響女朋友質量的因素(比如顏值、身材、貼心程度、可愛程度等等)。如果這些因素足夠複雜,你很難手動分類所有型別的女生而做出精確的規則。

並且,不斷的和不同的女生談戀愛、試錯不僅浪費時間,名聲也不好。說不定還會被扣上一定渣男的帽子。

來類比下?

其實上述就是一個非常不典型的機器學習的例子,我們來類比下:

機器學習(ML)

你可以從朋友圈隨機挑選一些女生(假設你的異性緣足夠的好)作為樣本(training data),然後列出所有女生的屬性,比如身高、顏值、身材、學歷、工作,等等(features),以及是否貼心、黏人度、孝心,等等(output variables)。將這些抽象化的資料在機器學習演算法裡執行(classification/regression),則ML演算法構建一個模型:女生的屬性——女生的質量。

然後等到下次你又遇見了一個女生了,你就可以用眼睛掃一下檢查女生的屬性(身材、顏值等)了(test data),然後提供給ML演算法,他就會根據之前生成的模型(model)預測這個妹子最終和你走到一起的可能有多大。

其實在機器學習構建模型過程中,內部使用的規則也許和上述例子中類似,但是也有可能是更復雜的規則,不過這些你並不需要關心。

你現在再去找物件就有很大信心了,而且更重要的時候,隨著時間你的ML演算法會自我提升(reinforcement learning),當預測錯誤的時候(戀愛談不下去就分手)矯正自身,隨著讀取更多的training data預測也會越來越精準。但是,最流弊的一點在於,你可以利用相同的演算法而訓練出不同的模型(model),找女朋友可以用這個模型,那找祕書呢?(彷彿發現了什麼不得了的事情?,隨便你想要訓練出什麼模型只要你高興就好 )

所以說對機器學習的最簡單的理解,便是:

使用某種演算法來對已有資料進行解析、學習,然後對真實世界中的資料/事件作出決策/預測。

那深度學習又是啥?

深度學習,是實現機器學習的技術。對機器學習來說,特徵提取並不簡單。特徵工程往往需要大量的時間去優化,而此時,深度學習便可以自動學習特徵和任務之間的關聯,還能從簡單特徵中提取複雜的特徵。

深度學習是機器學習的許多方法之一,其他方法包括決策樹學習、歸納邏輯程式設計、聚類、強化學習和貝葉斯網路等。

那深度學習是如何尋找那些複雜特徵的呢?

他是通過建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋資料,如圖象、聲音、文字。其產生的靈感來自於大腦的結構和功能,即許多神經元的互聯。

下圖是我在知乎上看見的一個非常有趣的回答:

找物件的過程中,我竟然理解了什麼是機器學習!

推薦大家去閱讀下這個回答:?

人工智慧、機器學習和深度學習的區別? - 圖普科技的回答 - 知乎https://www.zhihu.com/question/57770020/answer/418117913

那他們三個有什麼關係呢?

找物件的過程中,我竟然理解了什麼是機器學習!

人工智慧是為機器賦予人的智慧,而機器學習是實現人工智慧的手段之一,而深度學習則是機器學習的分支,所以三者之間的關係就如上圖所示。

教你一招快速分辨AI和ML

最後再教你一招如何快速分辨AI和ML:

找物件的過程中,我竟然理解了什麼是機器學習!

參考

相關文章