【機器學習】李宏毅——機器學習基本概念簡介

FavoriteStar發表於2022-12-14

機器學習就是找到一個我們人類無法寫出來的函式來完成各種任務

機器學習的任務

迴歸Regression:輸出是一個數值

例如:預測未來某一個時間PM2.5數值

分類Classification:輸出是選項

例如:輸出是否是電子郵件,Alphago輸出為棋盤的某一個位置

結構化學習Structured Learning:產生一個有結構的物件,例如產生一篇文章,寫一段文字


機器學習的步驟

Step1、寫出一個帶有未知引數的函式表示式(Function with Unknown Parameters):選用一個可能的函式表示式(Model)來表達輸入與輸出的關係,其中的未知引數稱為domain knowledge

Step2、Define Loss from Training Data:Loss是關於未知引數的函式

mean absolute error(MAE):就是採用預測值和標籤相減絕對值的方式來象徵誤差

mean square error(MSE):就是採用平方差的方式來象徵誤差

Step3、求解minL,例如gradient descent梯度下降,其中自己設定的引數(例如學習率)成為hyperparameters,還有local minima和global minima(區域性最小和全域性最小)

Step4、透過對真實資料的觀測,對原有的函式式子進行修改,例如增加週期性或者波動什麼的,可能會更加景區


Model Bias:由模型本身帶來的限制或者誤差,例如線性函式對於非線性的模型的學習始終不夠好

在這裡插入圖片描述

例如上圖,對於複雜的函式都可以用一個常數加上很多個藍色函式來構成,而就算是非線性
在這裡插入圖片描述

也可以透過取足夠多的點來逼近,從而應用上述方法,因此最關鍵的就是藍色函式如何表達,因此有了藍色函式我們就可以擬合我們希望得到的任何函式

在這裡插入圖片描述

因此就可以引入sigmoid函式,用於逼近我們想要的上方藍色函式,而各式各樣的藍色函式就是透過調整w,b,c從而改變它的形狀達到我們的要求

在這裡插入圖片描述

因此,我們就可以將線性函式轉換為具有更多特徵的函式,可以擬合各式各樣複雜的函式

在這裡插入圖片描述

引入神經網路:

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

\(\theta\)向量來代表全部的引數構成的向量

因此就可以將這個函式重新代入上述機器學習步驟的Step1,作為我們需要預測的函式

在這裡插入圖片描述

同樣利用梯度下降的方式來進行。

由於訓練集有可能過大,那麼可以對訓練集進行劃分:

在這裡插入圖片描述

每次update都是對一個batch(一部分訓練集)去進行梯度下降(因為梯度下降的計算之中肯定需要計算樣本的求和,不同訓練集就會導致計算結果不一樣),所有訓練集過完就是一次epoch

Sigmoid也可以更換:

在這裡插入圖片描述

兩個ReLU函式疊加就形成了上圖那一個的函式形狀,而由於每一個sigmoid需要兩個ReLU,因此那裡是2i

在這裡插入圖片描述

引入神經元的層數,就是上述過程再進行迭代:

在這裡插入圖片描述

那麼每一個Sigmoid或者ReLU就是一個Neuron,整體就稱為Neural Network

也可以每一個稱為hidden layer,那麼整體就是Deep Network

層次越深越好嗎?並不是的,可能會出現overfitting,就是過擬合的問題,在測試集上更差

但是需要思考,為什麼要弄得很多層,一層然後非常多的layer不是也可以表達任何一個函式的形狀嗎?

相關文章