跟著“路線圖”,我們一起遨遊機器學習的世界!

點擊上方關注,All in AI中國

跟著“路線圖”,我們一起遨遊機器學習的世界!

路線圖

  • 機器學習來自哪裡?
  • 這些流行語是什麼意思?
  • 人類如何學習?
  • 電腦如何學習?
  • 什麼是監督學習以及它如何運作?
  • 什麼是無監督學習,它是如何工作的?
  • 從這裡開始可以到達哪裡?

目標:

首先,機器學習蘊含著這個內涵,它非常複雜。雖然它在數學上是嚴格的,但是當你把它分解成數學術語時非常簡單,一旦你看到一個真實世界的例子,就像你和我這樣的人一直在使用它的話,它會變得更加簡單。我的目標是教任何對代數有基本瞭解的人,這些瘋狂的東西是如何運作的。

機器學習來自哪裡?

1959年,在IBM工作期間,美國計算機遊戲和人工智能領域的先驅亞瑟·塞繆爾創造了“機器學習”一詞。在接下來的幾十年裡,這個計算機科學領域一直生活在公司和大學的許多研究實驗室中,直到2010年左右,當時企業開始意識到深度學習的價值,以及它在預測企業、政府所產生的大量數據集中的見解時的應用。

值得注意的是,根據斯坦福大學的GSB,由於他們可以控制大數據,因此該領域的許多進展都在學術界和公司內部取得。

這些流行語是什麼意思?

圍繞人工智能和它的兄弟機器學習的流行語列表似乎每天都在增長,所以為了理解這一切,讓我們想象一下這一切都來自於哪裡,因為我們在第一個原則層面深入探討這一點。

跟著“路線圖”,我們一起遨遊機器學習的世界!

如上所述,我們可以看到許多這些領域與我們人類每天所做的事情有關:學習、處理語言(聽)、談話(語音)、計劃(優化)、移動(機器人)和看(視覺)。

這不是偶然的! AI的種子植根於神經網絡。神經網絡是一種數學模型,用於將人類思維(神經元)的第一原理轉化為數學,然後轉化為計算機對該數學的解釋。請參閱下面的可視化,但現在不要擔心理解它。

跟著“路線圖”,我們一起遨遊機器學習的世界!

重要的是要了解有三個主要的主題是彼此非常不同的:

  • 數據科學 - 產生見解。
  • 機器學習 - 產生預測(基於統計和概率)。
  • 人工智能 - 產生行動。

這三個領域與人類的學習方式有很多重疊。

  • 您收集信息以獲得一些見解。
  • 您可以根據您所知道的數據做出預測。
  • 您可以根據此類操作產生您想要或不想要的結果的可能性來執行操作。

重要的是要注意,即使一個基於另一個,它們也不是同義詞。現在我們已經擁有了超級高度的水平,讓我們深入瞭解一下人類和計算機學習之間的相似點和不同點。

人類如何學習?

跟著“路線圖”,我們一起遨遊機器學習的世界!

我們人類通過自己特有的傳感器收集數據:眼睛、耳朵、鼻子、舌頭,然後我們的大腦解釋這些數據,並根據這些數據做出決定。在第一個原則層面,這些決定是由我們的身體化學物質和最終的神經系統決定的,因為這是控制我們的思想、感受和動作的因素。這些決定都有外部結果,結果通過我們從周圍世界收集的感官數據向我們的大腦表達。我們感知的這種感官數據會影響我們的感受,進而影響我們的思維,因為我們的大腦的情感部分是最古老和最有影響力的事實。

例如,兒童在第一次接觸像熨斗這樣的鐵的熱物時,會避免接觸,感受到燒灼的感覺和疼痛,

鐵時會學會避免像熨斗這樣的熱物,並感受到燒灼的感覺和疼痛。通常情況下他們會哭,這有助於他們認識到,如果將來他們不想再發生這樣的情況,那麼就不要做這樣的決定,這也稱為學習反饋環。

對許多不同的用例推斷這個例子,我們可以看到它是人類如何學習決策導致良好結果以及哪些決策導致不良結果的基本構建塊。這在一定程度上是無監督的機器學習。

當父母教孩子如何做事時,這可以被歸類為有監督的學習。它是一種監督學習,因為孩子們被“灌輸”了數據以影響其決策並在出現錯誤時修復錯誤。

例如,父母教他們的孩子如何騎自行車。

跟著“路線圖”,我們一起遨遊機器學習的世界!

  • 首先,父母將向孩子展示如何將他們的身體放在自行車上。
  • 接下來,父母將教會孩子學會“踩踏”自行車,為了做到這一點,你必須對踏板施加一個力,克服自行車的慣性狀態。在踏板上用力推動使自行車移動,使它向前行走。
  • 讓我們假設孩子在前幾次停止踩踏之後,他們會從自行車上掉下來。他們會受傷,會感到痛苦,會感到害怕。

前面提到的是一些數據,會告訴孩子的大腦,如果你在踏板上只踏幾次,自行車是不可能學會的。

  • 父母會進來告訴孩子繼續踩踏,這是對學習模式的反饋。我們可以看到這種數據輸入是視覺、音頻和物理的混合。父母直觀地展示了該做什麼,告訴孩子該做什麼,並幫助他們執行動作。

最終,孩子會從連續失敗中學會如何騎自行車,就像“一旦你學會騎自行車,你永遠不會忘記”,孩子的大腦會有一套發達的指令來完成騎自行車的目標。這就是人類在高層次上學習每項任務的方式,它與計算機學習的方式有些相似。

在數學中,這種通過誤差法的試驗被稱為梯度下降,我們將很快得到它!

我們的身體利用神經元收集信息,然後再次使用神經元傳遞我們周圍世界的動作,而計算機使用我上面展示的數學模型以比特(1和0)的形式收集信息並做出決定!

電腦如何學習?

現代計算機不同於人類,因為它們處理二進制數據,並且必須被告知一組非常具體的指令才能操作,而當孩子出生時,他們沒有得到移動、吃飯或哭泣的指令。它們是“預先編程的”,能夠自己做這些事情。沒有基本指令集的計算機就不是計算機。通過類比推理,嬰兒所具有的子宮行為與計算機BIOS類似,或者是生命中最基本的指令集(在計算機機箱打開時)。唯一的區別是BIOS必須由其他人編寫,我們人類並不是100%確定我們是從哪裡開始預先編程的,但這是另一個重點了。

簡單來說,計算機通過機器學習學習的三種方式是(i)模型(ii)參數(iii)學習者。

  • 模型 - 進行預測或識別的系統。
  • 參數 - 模型用於形成決策的信號或因素。
  • 學習者 - 通過觀察預測與實際結果的差異來調整參數,進而調整模型的系統。
跟著“路線圖”,我們一起遨遊機器學習的世界!

假裝你是一名新老師,並希望確定學生應該學習的最佳時間,以便在考試中獲得最佳成績,這樣你就可以將這些信息放在你教授的第二堂課的教學大綱中。

一切都始於模型,也稱為機器學習系統將使用的預測。在形式上,這被稱為假設:

跟著“路線圖”,我們一起遨遊機器學習的世界!

接下來,我們的ML(機器學習)模型創建了一個數學公式來模擬這個數據中的關係。

跟著“路線圖”,我們一起遨遊機器學習的世界!

現在我們將學生在第一年結束時收到的考試成績輸入我們的模型,以測試我們的假設,結果發現我們的模型不合適。我們輸入的數據稱為訓練集。

在這個模型中,我們看到的最嚴重的誤差範圍,即學生學習4小時。

跟著“路線圖”,我們一起遨遊機器學習的世界!

上述計算的結果意味著我們的算法高估了學生的分數,我們的學習者需要調整我們的預測。

從下面的圖表中得出的關鍵是我們的精度指標很低,因為我們的假設存在一個可計算的誤差範圍。

跟著“路線圖”,我們一起遨遊機器學習的世界!

所以我們調整預測,這是我們得到的結果:

跟著“路線圖”,我們一起遨遊機器學習的世界!

第二次迭代假設

現在系統再次運行,但這次我們使用一組新的分數。學習者將這些真實分數與修正後的模型進行了比較。

這次我們獲得了相當高的精確度:

跟著“路線圖”,我們一起遨遊機器學習的世界!

但是為了使我們的模型儘可能精確,機器學習算法將繼續運行,直到它儘可能接近絕對精度。

就像自行車上孩子的例子一樣,這種梯度下降的方法完全可以彌補機器學習中的一切!是不是很酷?

現在您已經瞭解了機器學習如何在一個非常簡單但實用的示例中運行,讓我們來看看機器學習的兩個主要構建塊:

  • 監督學習(和)
  • 無監督學習

什麼是監督學習以及它如何運作?

監督學習依賴於監督者(人),用於解決兩類問題:分類(按相似性分組)和迴歸(根據一系列獨立輸入制定定量輸出)。

  • 分類:基於定義的特徵對相似對象進行分組。
  • 迴歸:與自變量相關的因變量。

如果您熟悉獨立變量和因變量,請繼續閱讀!如果沒有,這是一篇很好的作品,以外行人的術語來描述。這與下面的部分非常相關,所以如果你對這兩個含義有點模糊,請花點時間閱讀它。

監督機器學習如何運作?

在您需要了解的SML(監督機器學習)過程中有四個主要部分,它們與我們討論計算機如何學習的前一部分非常相似,但我們將進一步進入數學的部分詳細介紹幾個關鍵部分。

  • 數據準備 - 準備好我們的數據來完成工作。
  • 訓練 - 建立數學模型。
  • 測試/調整 - 根據我們想要的內容評估輸出,並分別根據不良結果更改模型。我們在上一個示例中介紹了這一點,因此我們不會再次討論它。

數據準備:

一位優秀的工程師正在評估其數據集的三個主要方面:偏斜、分佈以及數據集的均值/中值/模式。

  • 偏斜數據集是一種不遵循所謂的正態分佈的數據集,這基本上意味著如果要創建數據集的可視化,您將擁有視覺上對稱且平衡的山狀。我們不能僅僅通過它在視覺上的表現來判斷我們的數據集,它不是有效的,並且有更簡單的方法來判斷它。
  • 在對稱分佈中,您的平均值(所有數字的總和除以您的總數量)等於您的中位數(如果您從前面和後面迭代,則為中間數字),這等於您的模式(最常見的數字)。
跟著“路線圖”,我們一起遨遊機器學習的世界!

跟著“路線圖”,我們一起遨遊機器學習的世界!

我們使用的數據集滿足這個標準是絕對重要的,因為如果不是這樣,我們基本上會有一個毫無價值的ML模型,因為我們不能在沒有多樣化數據集的情況下達到高精度。

訓練:

這部分幾乎與上一節我們介紹模型、參數和學習者相同,但我想直觀地展示一些結果是什麼樣的,這樣您就可以查看機器學習模型,並通過分析結果給你的朋友留下深刻印象!

在我展示一些例子之前,有一個非常重要的概念需要理解,那就是差異。方差是衡量模型對新數據“敏感”程度的指標。差異結果對於機器學習來說真的很糟糕,因為它實際上意味著我們已經構建了一個只能在“真空”中工作的軟件,換句話說,由於沒有采用理論數學而無法從理論數學轉換到現實世界的過程中考慮多個參數。

Underfit:

  • 低方差/高偏差

這意味著我們的模型具有良好的數據,但我們運行它的公式太“愚蠢”了,我們需要考慮更多的事情。這就是所謂的偏見。偏見的模型只是忽略了它不應忽視的事物。

跟著“路線圖”,我們一起遨遊機器學習的世界!

這個模型太簡單了,因此有一些異常數據點。

跟著“路線圖”,我們一起遨遊機器學習的世界!

這個模型太簡單了,因此沒有正確分類。

過度擬合:

  • 高差異/低偏差

當我們的數據不好時會發生這種情況乾淨利落。我們沒有多樣化的數據集並且存在偏差。然而,該模型並不太“愚蠢”,而且更多的是我們選擇訓練算法的數據集問題,這是監督機器學習算法的最常見結果。

跟著“路線圖”,我們一起遨遊機器學習的世界!

高方差=從每個點到它們的平均值的差異過大

跟著“路線圖”,我們一起遨遊機器學習的世界!

高方差=從每個點到平均值的分佈太大。

這就是超級監督機器學習。

什麼是無監督學習,它是如何工作的?

就像它的名字一樣,無人監督,這種類型的機器學習涉及最少的人類參與。當然,這些數據需要清理和呈現。

使用它的其中一種方法是電子商務。公司擁有大量有關客戶的數據,包括潛在客戶和當前客戶。每家公司都希望找到新客戶來服務他們的產品。通過大量數據集包含他們對某人的瞭解信息,公司可以對此數據集應用無監督學習,以找到向這些客戶銷售的新方法,同時尋找新產品銷售給這些客戶。

讓我們來看看用於實現此目的的最流行的算法 - k-means聚類:

跟著“路線圖”,我們一起遨遊機器學習的世界!

以前當我們看聚類時,我們看到了這個例子,當我們進行分類時,我們根據它們是否是相同的形狀對對象進行分組,而不是根據它們是否是一個有效的形狀。

在用於無監督學習的聚類應用中,數據基於它的相似程度而不是該數據所屬的類別(也稱為標記)被分組在一起。

例如,在我上面繪製的聚類圖像中,您可以根據不同花的花瓣寬度進行分組,而不依賴於花型。

使用多樣化的數據集,您將擁有一個根據對象大小對對象進行分組的模型,您可以從最終結果中推斷出一些見解。

洞察力是那些使用這些模型的公司所追求的因素,因為它最終可以推斷出為客戶提供的新產品。

因此,如果您的數據集的結果顯示了一群不同的人(多樣性定義為年齡、種族、教育、收入、地理區域等),你知道他們每月花多少錢購買產品,根據他們每月花費的金額,無論其他因素如何,他們都會根據這些產品進行分組。

接下來,您可以向他們出售其他人在同一支出集群中購買的更多產品。理論上,這個應用程序會增加公司的銷售額,因為您可以合理地假設這些新產品中的一些最終會出售給客戶。

k-means聚類是如何工作的?

第1步:根據一些任意指標將數據分成集群(在我們的例子中,我們將使用某些公司每月花費的$作為我們的集群指標)。我們擁有的組數將是由字母“K”表示的量化數字。因此名稱為k-means聚類。

跟著“路線圖”,我們一起遨遊機器學習的世界!

設置點

步驟2:選擇位於這些聚類中心的k個點,也就是這些聚類中間的點。

第3步:將我們最初設置的每個k點移動到一個新點。通過測量每個點距離我們最初設置的中心的距離來計算這個新點。這是使用我們在代數中學習的方便的花花公子測量的,稱為歐幾里德距離,或者用更簡單的術語,畢達哥拉斯定理。

跟著“路線圖”,我們一起遨遊機器學習的世界!

現在,新點將移動到最近的集群中心。注意:新點不會移動到距離原點最近的點,因為它不是群集,即單個數據點。

為此,我們聚合從原始點到數據集中每個點的距離,並找到具有最小總和的群集(在我們的例子中定義為3個點)(總和定義為每個距離加到一個數字)。一旦我們知道這些聚類中哪一個是最接近的聚類,我們就知道我們的新點將在哪個聚類區域,但這並沒有告訴我們究竟需要準確地移動新點的位置。

第4步:為了計算我們想要移動新點的位置,我們必須計算集群中點的平均值。如前所述,均值只是每個點值的總和除以我們得到的點數。

跟著“路線圖”,我們一起遨遊機器學習的世界!

點的移動(定性估計)

步驟5:這不是一個真正的步驟,但在這一步,我們將繼續運行我們的算法中的前面的步驟,直到我們不再能夠將我們的點位置移動到有利於移動的集群。換句話說,除非有一個群集的距離/平均值比之前計算的更好,否則我們不會改變這一點。

讓我們先退一步,因為我必須先解釋一下這個過程(算法),然後才能說明主要觀點,以便消除任何困惑。

還記得我是怎麼說我們在開始時選擇k點作為我們開始的基礎嗎?

無監督學習的全部意義在於告訴他們可能沒有意識到的人類見解。如果不改變每次迭代中k點的位置,我們就不能高精度地做到這一點。

為了簡單說明發生了什麼,這些k點在上述每個步驟完成後都會發生變化,並且會一直這樣做,直到我們用盡可能的地方放置這三點或其他一些邊緣情況,我是為了簡潔而忽略。

那麼為什麼公司要付錢給工程師來運行這些算法呢?

在我們的算法結束時,我們將有一個最終的集群,它是我們選擇尋找的參數(要評估的不同屬性)的最佳結果。

在那個集群中,我們可以得到這樣的輸出例如:

  • 大衛是一名26歲的男性,住在舊金山,為優步工作。他每月花費100美元買衣服,通常會購買Clarks的皮靴。
  • Melanie是一名19歲的女性,住在紐約市,為非盈利組織工作。她每個月花150美元買衣服,通常買AG牛仔褲。
  • Marcus是一名40歲男性,住在德克薩斯州奧斯汀,為埃克森美孚工作。他每個月花50美元買衣服,通常買Carhart T恤。
  • 蘇珊是一名25歲的女性,住在華盛頓州西雅圖,在亞馬遜工作。她每個月花200美元買衣服,通常買Frame牛仔布。

儘管這四個人似乎沒有任何共同之處,但他們實際上可以在市場上找到併購買對方擁有的商品,但他們甚至不知道他們想要那些商品,因為沒有廣告也沒有人告訴他們。

好吧,大衛和馬庫斯有著與梅蘭妮和蘇珊類似的消費習慣,儘管他們在不同的城市工作並且年齡不同。

通過分析他們的數據,公司可以根據他們剛剛生成的“類似購物者”洞察力向他們提供廣告,並且他們可能會在向客戶和購買該商品的人展示廣告時獲得一些可量化的轉化率。

這些數學模型和部署它們的工程師花費了少量資金來建造/使用和維護相對於潛在的好處。在規模上,您可能會看到很多銷售額超過了構建這些模型的成本,所以......

這就是為什麼公司使用像k-means這樣的無監督學習模型是有道理的!

從這裡可以去哪裡?

信不信由你,我們只是觸及了機器學習的皮毛。如果你看一下上面的AI快照,你會發現我們真的只涉及一些超級高級的話題。

機器學習中的其他一些有趣的話題就是這些圖像中的東西,如NLP(自然語言處理),這就是亞馬遜的Alexa如何處理您所說的,CV(計算機視覺),這是機場掃描人員在通過安檢時如何查看是否他們在任何觀察名單上,當然還有更多。

如果你真的想深入研究這些科目,你應該認真看看MOOC(大規模在線開放課程),如Udacity、Udemy和Coursera。

跟著“路線圖”,我們一起遨遊機器學習的世界!


分享到:


相關文章: