- 什麼是機器學習?
在研究領域使計算機能在沒有明確編程的情況下自行學習解決問題的規律。更具體來説,我們可以通過機器學習訓練出模型,並用這些模型解決問題。 - 學習機器學習的目標?
學會使用各種算法,表示、訓練、使用模型。
基本概念
模型
通過機器學習來解決問題,不再是使用傳統的硬編碼來編寫程序,相反其生成的“解題工具”是一堆參數集,而這些參數集被稱作模型。
類比到數學上,解決問題的過程就是函數映射的過程。在傳統程序中,這部分由人類思考完整的解題流程並硬編碼到程序中;而在機器學習中,這一過程被實現在了模型中,模型中參數的可變性,使得程序可以學習,並因此能解決那些難以用完整邏輯描述的函數映射。
數據集
用於訓練(製作)模型的初始樣本。通過分析這些初始樣本,再將其規律反應在模型參數上,就訓練出了最基本模型。
通用符號
- \(x\):輸入變量、特徵、輸入特徵。
- \(y\):輸出變量、目標變量。
- \(m\):訓練樣本的總數。
- \((x,y)\):單個訓練樣本。
- \((x^{(i)},y^{(i)})\):第 i 個訓練樣本。
- \(\hat{y}\):y 的估計值或預測值。
- \(f\):模型,\(\hat{y}=f(x)\)。
機器學習算法
模型是參數集,而利用這些參數計算的函數,則叫機器學習算法。想要實現機器學習,需要將傳統的硬編程解決問題,改為通過一些通用的算法來實現。目前常用於實現機器學習的算法有以下幾類:
- 監督學習
- 無監督學習
- 推薦系統
- 強化學習
監督學習
使用監督學習開發的算法,通常用於計算從 x 到 y 的函數性問題,且研究者會事先給算法提供一些學習例子(一組已知的正確 xy 映射)。
列如:垃圾郵件判斷(輸入郵件,輸出布爾值),語言識別(輸入音頻,輸出文本),廣告推銷(輸入用户信息,輸出點擊率)。
問題類型
- 迴歸:從無限多個可能的數字中預測一個(連續的)。
- 分類:從有限的,可非數值的答案中預測一個(離散的)。
相應的,解決這些問題的算法就叫“xx 算法”(如“迴歸算法”)。
無監督學習
無監督學習不是用於輸出正確答案的算法(因為開發者也不知道有哪些答案,所以它與 y 無關),其輸出是聚焦在輸入數據本身的特徵信息。
例如:新聞分類(自動生成新聞簇,並將預計為報道同一件事的新聞歸類在同一個簇中),金融詐騙檢測(自動判斷非常規交易信息,判斷其是否為異常)。
問題類型
注:“無標籤”指未事先人物給數據分類標記,數據特徵點全靠機器自行識別。
- 聚類:將無標籤的數據自動分類到不同的簇中(無限個未知的離散答案)。
- 異常檢測:從一堆無標籤事件中檢測錯誤等非常規事件。
- 降維:在儘可能不丟失信息的情況下壓縮數據集。
模型製作流程
模型中的參數不是人為指定的,而是通過訓練實現的。想要完整製作一個模型,需要按以下步驟進行:
- 選擇模型算法
- 找出模型參數
- 確定成本函數
- 找出使成本函數結果最小的參數