機器學習: 入門

現在機器學習是十分火爆,這也帶起了 Python 的潮流,這篇文章將簡要概括機器學習裏的一些重要概念,作爲機器學習的入門博文。

問題類型

機器學習不是說學習就學習的,它的出現是爲了解決一些問題的,而這些問題一般不能通過直接編程去解決如計算 999 * 999 是多少。這些問題需要數學裏的機器重複做一些事來發現問題中的規律,並利用這個規律來到達某個效果。如下圍棋,爲了可以成爲高手,人類可能要下成千上萬盤棋才能總結出規律,現在有計算機,它可以幫我們下棋去總結規律,這就是機器學習。

常見問題類型如下。

監督學習

給你數據集,數據集裏輸入 x 和輸出 y,然後找一個機器學習算法去訓練出一個模型,這個模型就可以幫我們在給定 x 值後去預測 y 值。

監督學習裏還包含迴歸問題和分類問題,迴歸問題一般是有連續性的,如去預測 300 天后的銷售額。分類問題一般是離散的,如判斷這封郵件是否是垃圾郵件。

無監督學習

給你數據集,數據集裏只有輸入 x 值,然後找一個機器學習算法去訓練一個模型,這個模型就首先會尋找 x 值中蘊含的規律,並將這些規律分類成一些 y 值 ,然後在給定 x 值後去預測對應 y 值。

半監督學習

這種學習方法就是上面兩種的結合,給你數據集,裏面有輸入值 x 和 輸出值 y,不同的是有些 x 值沒有對應的 y 值,然後還是和上面一樣,找個算法,造個模型,對給定 x 值去預測 y 值,當然這個 y 值有可能是一個新類。


下面先從監督學習開始說,這篇文章是入門文章,所以只是提一些概念。

圖解監督學習

監督學習的“流程圖”如下所示。

其中 Training Data 就是給定的數據集, Learning Algorithm 是我們找的一個機器學習算法,Program (Learner) 一般是我們寫的預測給定值的程序。Score Performance 一般是指損失函數,用於判斷預測效果。

一些讓人頭大的字母

變量 含義
x 特徵值,我的理解是輸入參數
y x 對應的 y 值
\hat{y}=f(x: \theta) 預測值
\theta 機器學習算法裏的參數,注意:這個 \theta 是個向量,裏面存着算法裏不只一個參數

出錯率

分析出錯率可以幫我們選出更優的機器學習算法以及其對應的參數,而出錯率和我們高中學的方差有點像,嗯...感覺就是一樣。

MSE 表示 Measuring Error,m 表示有多少個數據。這裏注意 \hat{y}(x^{(i)}) 指的是用 x^{(i)} 算出來的 \hat{y},而不是 \hat{y} \times x^{(i)}

迴歸與分類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章