1. 程式人生 > >先搞懂這八大基礎概念,再談機器學習入門!

先搞懂這八大基礎概念,再談機器學習入門!



翻譯 | AI科技大本營
參與 | 林椿眄


準備好開始AI了嗎?可能你已經開始了在機器學習領域的實踐學習,但是依然想要擴充套件你的知識並進一步瞭解那些你聽過卻沒有時間瞭解的話題。

這些機器學習的專業術語能夠簡要地介紹最重要的機器學習概念—包括商業界和科技界都感興趣的話題。在你遇到一位AI指導者之前,這是一份不詳盡,但清楚易懂又方便在工作、面試前快速瀏覽的內容。

概覽:
自然語言處理
資料庫
計算機視覺
監督學習
無監督學習
強化學習
神經網路
過擬合

1 自然語言處理

自然語言處理對於許多機器學習方法來說是一個常用的概念,它使得計算機理解並使用人所讀或所寫的語言來執行操作成為了可能。

自然語言處理最重要的最有用的例項:

① 文字分類和排序
這項任務的目標是對一個文字進行預測標籤(類別)或對列表中相關聯的文字進行排序。它能夠用於過濾垃圾郵件(預測一封電子郵件是否是垃圾郵件),或進行文字內容分類(從網路上篩選出那些與你的競爭者相關的文章)。

② 情感分析
句子分析是為了確定一個人對某個主題的看法或情感反應,如正面或負面情緒,生氣,諷刺等。它廣泛應用於使用者滿意度調查(如對產品的評論進行分析)。

④ 命名實體識別
命名實體識別演算法是用於處理一系列雜亂的文字並識別目標(實體)預定義的類別,如人,公司名稱,日期,價格,標題等等。它能夠將雜亂的文字資訊轉換成規則的類表的格式,來實現文字的快速分析。

⑤ 語音識別
語音識別技術是用於得到人所講的一段語音訊號的文字表達。你可能聽說過Siri助手?這就是語音識別應用的一個最好的例子。

⑥ 自然語言的理解和生成
自然語言的理解是通過計算機,將人類生成的文字轉換成更正式的表達。反過來,自然語言生成技術是將一些正式又有邏輯性的表達轉換成類人的生成文字。如今,自然語言理解和生成主要用於聊天機器人和報告的自動生成。

從概念上來說,它與實體命名識別任務是相反的。

⑦ 機器翻譯
機器翻譯是將一段文字或語音自動從一種語言翻譯成另一種語言的一項任務。請見:https://youtu.be/Io0VfObzntA

2 資料庫

資料庫是機器學習一個必要的組成部分。如果你想構建一個機器學習系統,你要麼可以從公眾資源中得到資料,要麼需要自己收集資料。所有的用於構建和測試機器學習模型的資料集合成為資料庫。基本上,資料科學家會將資料劃分為三個部分:

訓練資料:訓練資料是用於訓練模型。這意味著機器學習模型需要認識並通過學習得到資料的模式以及確定預測過程中最重要的資料特徵。

驗證資料:驗證資料是用於微調模型引數和比較不同模型來確定最優的模型。驗證資料應該不同於訓練資料,且不能用於訓練階段。否則,模型將出現過擬合現象,且對新的資料泛化不佳。

測試資料:這看起來似乎有些單調,但這通常是第三個也是最後的測試集(經常也被稱為對抗資料)。一旦最終的模型確定,它就用於測試模型在從未見過的資料集上的表現,如這些資料從未在構建模型或確定模型時使用過。

影象:混合使用t-SNE和Jonker-Volgenant演算法得到的MNIST資料庫的視覺化結果。T-SNE是一種廣泛使用的降維演算法,通過壓縮資料的表達來得到更好的視覺化和進一步處理。

3 計算機視覺

計算機視覺是一個專注於分析並深層次理解影象和視訊資料的人工智慧領域。計算機視覺領域最常見的問題包括:

① 影象分類
影象分類是教模型去識別給定的影象的一種計算機視覺任務。例如,訓練一個模型去識別公共場景下的多個物體(這可以應用於自動駕駛)。

② 目標檢測
目標檢測是教模型從一系列預定義的類別中檢測出某一類別的例項,並用矩形框框注出來的一種計算機視覺任務。例如,利用目標檢測來構建人臉識別系統。模型可以在圖片中檢測出每張臉並畫出對應的矩形框(順便說下,影象分類系統只能識別出一張圖片中是否有臉的存在,而不能檢測出臉的位置,而目標檢測系統就可以)。

③ 影象分割
影象分割是訓練模型去標註類的每一個畫素值,並能大致確定給定畫素所屬的預定義類別的一種計算機視覺任務。

顯著性檢測

4 監督學習

監督學習是用例項來教模型學習的一類機器學習模型集合。這意味著用於監督學習任務的資料需要被標註(指定正確的,真實類別)。例如,如果我們想要構建一個機器學習模型用於識別一個給定的文字是否被標記過的,我們需要給模型提供一個標記過的樣本集 (文字+資訊,是否該文字被標記過)。給定一個新的,未見過的例子,模型能夠預測它的目標,例如,規定樣本的標籤,1表示標記過的而0表示未標記的。

5 無監督學習

相比於監督學習,無監督學習模型是通過觀察來進行自我學習。演算法所用的資料是未標記過的(即提供給演算法的是沒有真實標籤值的資料)。無監督學習模型能夠發現不同輸入之間的相關關係。最重要的無監督學習技術是聚類方法。對於給定的資料,模型能夠得到輸入的不同聚類(對於相似的資料聚合在同一類中),並能將新的、未見過的輸入歸入到相似的聚類中。

6 強化學習

強化學習區別於先前我們提到的那些方法。強化學習演算法一種“遊戲”的過程,其目標是最大化 “遊戲獎勵”。該演算法通過反覆的實驗來嘗試確定不同的 “走法”,並檢視哪種方式能夠最大化 “遊戲收益”

最廣為人知的強化學習例子就是教計算機來解決魔方問題或下象棋,但是強化學習能解決的問題不僅只有遊戲。最近,強化學習大量地應用於實時競價,其模型負責為一個廣告競拍價格而它的報酬是使用者的轉換率。

7 神經網路

神經網路是一個非常廣泛的機器學習模型集合。它的主要思想是模擬人類大腦的行為來處理資料。就像大腦中真實神經元之間相互連線形成的網路一樣,人工神經網路由多層組成。每層都是一系列神經元的集合,這些神經元負責檢測不同的食物。一個神經網路能夠連續地處理資料,這意味著只有第一層才與輸入直接相連,隨著模型層數的增加,模型將學到越來越複雜的資料結構。當層數大量地增加,模型通常就是一個所謂的深度學習模型。很難給一個深度網路確定一個特定的網路層數,10年前通常3層神經網路就可謂深,而如今通常需要20層。

神經網路有許許多多不同的變體,最常用的是:

卷積神經網路—它給計算機視覺任務帶來了巨大的突破(而如今,它同樣對於解決自然語言處理問題有很大幫助)。


迴圈神經網路—被設計為處理具有序列特徵的資料,如文字或股票票價。這是個相對古老的神經網路,但隨著過去20年現代計算機計算能力的突飛猛進,使得它的訓練變得容易並在很多時候得以應用。
全連線神經網路—這是處理靜態/表格式資料最簡單的模型。

8 過擬合

當模型從不充分的資料中學習會產生偏差,這對模型會有負面的影響。這是個很常見,也很重要的問題。

當你在不同的時間進入一個麵包坊,而每一次所剩下的蛋糕都沒有你喜歡的,那麼你可能會對這個麵包坊失望,即使有很多其他的顧客可能會對剩下的蛋糕滿意。如果你是個機器學習模型,可以說你對這一小數量樣本產生了過擬合現象—要構建一個具有偏置量的模型,其得到的表示才不會過度擬合真實資料。

當過擬合現象發生,它通常意味著模型將隨機噪聲當作資料,並作為一個重要的訊號去擬合它,這就是為什麼模型在新資料上的表現會出現退化(噪聲也有差異)。這在一些非常複雜的模型如神經網路或加速梯度模型上是很常見的。

想象構建一個模型來檢測文章中出現的有關奧運的特定體育專案。由於所用的訓練集與文章是由偏差的,模型可能學習到諸如 “奧運”這樣詞的特徵,而無法檢測到那些未包含該詞的文章。

這就是所有的問題。如果你想了解更多這樣的文章,請在下面的評論區留言告訴我們。