寫給非技術人員的機器學習指南

2022-08-05 13:14:53 字數 3716 閱讀 3762

這裡是另一家創業公司的聚會,你靠在吧檯上,一邊喝著小酒。這樣的夜晚你只考慮自己,盡情享受社交活動。

偶然間,一個聲音從你耳邊傳來。

“他們絕對是機器學習的創業公司。”

談話聲消失了。

“他們仍然在使用統計nlp嗎?**性神經網路似乎是一種趨勢。”

談話聲再次消失。

機器學習像病毒一樣迅速傳播,你驚訝的發現這幾分鐘內,吧檯上的每個人都在討論機器學習。

過去你曾聽說過這個術語,誰沒有聽說過呢?機器學習是一種潮流,毫無疑問,它是人工智慧的未來。

問題是,你沒有一點關於它的想法。

你放下酒杯轉身離開,今晚將是不眠之夜。

最開始聽說的機器學習機器人,是代替藍領完成工作。

然後,我們發現機器人開始搶白領的飯碗。

在我們失業的將來,會發現這些機器人在我們背後聊天。

可能在閒聊那些懶惰的失業的人類。

機器學習在如此多的場景被談及,但卻很難被準確定義,翻越查詢得到的是抽象的原理解釋,高頻拼字遊戲的詞語,以及由數學和**組成的一堵牆。

你只想知道什麼是機器學習,為什麼它是一個偉大的想法,順便了解一點它是如何工作的。坦白的說,你只想搞清楚身邊那些流行詞彙的意思,這些詞彙就像中學課堂上該死的單詞,每個人都在使用它們,但你有一種感覺沒有人知道它真正的意思。

所以機器學習,像ai?

這是一個很好的開始,我們都知道人工智慧的含義。我們雖然在思考不同的事情,但可以肯定的是思考的都是有價值的想法。

人工智慧(ai)是研究構建做出“智慧”決策的系統。

基本上如果電腦能做出一些似乎有點聰明的事兒,我們就會給它貼人工智慧的標籤。

舉一個常見的例子,電腦遊戲通常會出現智慧的boss角色,他們跟隨我們,並且他們的行為方式讓遊戲變成一種挑戰。這就是ai的例子。

通過給予ai一些列的規則,遊戲的發展可以實現,跟誰玩家,如果玩家正在射擊,尋找掩護,如果玩家停止射擊,嘗試擊斃玩家。規則越多,遊戲將會越智慧。

問題是電腦遊戲的規則是有限的,玩家僅限於一些特定的操縱,而操作水平完全由開發者設計。所以那些似乎真的很智慧的出色的ai特徵,就是由開發者設計的規則組成。

比如說用一臺電腦來檢測這是不是狗的**。

如何為這個任務定義規則呢?

嘗試設想一下需要哪些類別的規則。

狗有四條腿?

狗是白色的?

狗有皮毛?

這是眾所周知的座椅。

電腦視覺問題,比如識別一個物件,是相當複雜的。但我們的大腦卻能直觀的分辨出。所以設計出明確的規則非常困難。

我們不能建立識別狗狗的系統,卻能建立學習識別狗狗的系統。

這裡有上千張,其中一些是狗的,一些不是。系統能學習可以定義為狗的**的規則。

機器學習是研究構建做出“智慧”決策的系統。

關鍵字”學習”去區分機器學習與其他人智慧不同的地方。

“既然機器可以學習規則,那麼顯然,規則是已存在的,不必費勁便能找到它們。”

完全正確,如果竭盡全力我們可以開發基於規則的狗狗檢測大作,它是包含所有可能情景的上千條規則,這是一件漂亮的事情。

那麼,倘若現在需要一個能識別包含食物的系統呢?好吧,我們將拋棄之前所有的從頭開始,以前的規則都不適用。

“出色的識別技術,熱狗也是狗。”

一個可以學習識別物件的系統,通過使用食物而不是狗狗,可以被訓練為識別食物。

這就是機器學習的魅力。與其去明確一系列規則,不如讓機器靈活的去學習和適應。

現在更像是我們建立了一個活生生的、能不斷學習的,並能讓它通過與小狗一起玩耍從而教它識別狗的機器。然後再教它可愛和愛,並希望說服它不要起義把我們滅了,是吧?

現實情況並沒那麼複雜,我們希望機器可以智慧決策,通常建立在**的基礎上,所以從這樣的問題開始:人類是怎樣**的?

這裡有一個很好的例子來說明我們怎樣**,可能在中學的科學課堂上就做過。

比如做實驗,你需要收集資料,然後繪製成圖。

實驗》資料》圖形

x軸表示改變的值,y軸便是測量的結果,然後繪製趨勢線(或者最佳線)。

這條線便是最好的資料模型。

因為有這條線,所以可以做出**。你可以選擇沒有測量過的重量,在x軸上觀察,然後從y軸上**彈簧的長度。

使用資料建立模型,然後通過模型進行**。

如果程式設計可以完成這些步驟,那麼恭喜:這就是機器學習。

發現線性模型並藉此進行**,這完全是機器學習技術,我們稱之為線性迴歸。

將模型程式設計寫入系統,系統便能對這個彈簧進行**。但如果不編寫新的程式,它便無法對其他彈簧進行**。

如果我們讓程式完成線性迴歸本身,同時學習模型,這才是機器學習。

我們不提供模型,而是讓機器去學習模型。

舉個例子來形容那邊是:

機器學習並不神祕。

我們並不是建立擁有自我意識可以學習任何東西的機器,彈簧模型程式不會學習識別狗狗。

即便是你,彈簧狗。

我們建立的系統是可以學習特定型別的模型,那個我們所忽略的模型。

幾乎每個機器學習系統都會以下這些事兒:

系統給出基於模型的輸出結果,對輸出進行評估,以確定它有多糟糕,然後更新模型,使未來的輸出變得更好。

建立可以完成對特定問題不斷迴圈(評估->更新->輸出->評估)的系統,機器學習便是這麼一門藝術。

輸出的複雜性取決於問題本身,它可能只是來自於聊天機器人的文字響應,或者是無人駕駛中是否踩剎車的一個決定。

真實的模型可能是像彈簧問題的線性模型,可能是更復雜的基於統計和概率的模型。或者是設計模擬人類大腦工作的神經網路。

不管細節是什麼,幾乎每個機器學習系統都是這樣迴圈的執行。每次迴圈,系統都提升一點點。經過上千次甚至百萬次迴圈,便可以得到已學會比人類更好完成任務的系統。

豐富多彩的應用程式,以及解決程式問題所需的技術,都是機器學習與許多其他領域交叉的重要原因,也是現在為什麼機器學習是如此激動人心的話題。

建立機器學習系統是複雜的,但要搞懂機器學習並不難。

所以去征服那個創業公司的聚會吧,丟擲那些新發現的流行詞彙。你只需要再沉浸幾年,到時候相信也會有機器人來幫你做這些事。