來源:北大青鳥總部 2022年12月21日 14:06
想必大家在入門學習機器學習的時候,總是去找各大論壇的入門掃盲貼,一開始只帶著一個問題去看這篇帖子,看完之后突然有3個問題還沒想明白,再咬牙去看了三篇帖子,最終問題數(shù)變成了9個?!拔沂钦l?我在哪?我在干什么?”
“模型是什么?機器學習算法和優(yōu)化算法有什么區(qū)別?什么是損失函數(shù)?”
上述這些問題你有在自己心里問過自己嗎?今天小編將通過線性回歸來全方位解答上述的這些問題,從而真正理解機器學習是什么以及它為什么要這么做。(文章中會涉及些許baby math,高能預警)
首先我們來回顧一下線性回歸的基本思路,假設我們在二維平面當中隨機分布著一些樣本點,這些樣本點直接存在一些關系和規(guī)律,線性回歸所做的事情就是使用一根直線來描述概括了這些關系和規(guī)律。如圖:
左圖為我們已經(jīng)有的樣本點,這些樣本點是一份房價數(shù)據(jù),橫坐標是房屋面積,縱坐標是房價。而右圖比左圖多出來的那條直線就是通過線性回歸產(chǎn)生的一條直線,可以從肉眼中看到這條直線“差不多”描述了所有樣本橫縱坐標的關系和規(guī)律,這條直線就是線性回歸的意義所在。
不要小看了這條直線,這個問題是一個最簡單最基礎也是最典型的一個機器學習問題,其中這條直線稱為“機器學習模型”,得出這個模型的過程就稱為機器學習。
接下來咱慢慢來討論,這跟直線到底是如何確定的。為什么描述這些樣本點規(guī)律的直線必須是這一根,而不是與他平行但向上平移0.0000000001的那一根?為什么不是向右旋轉(zhuǎn)0.00000001度的那一根?就偏偏是圖中所畫的這一根,這一切都要從機器學習的過程說起。
首先我們的目的需要得到一個可以通過房屋面積來預測房價的這么一個模型,那么我們首先要根據(jù)已有的數(shù)據(jù),來“總結(jié)經(jīng)驗”得出這個模型?!翱偨Y(jié)經(jīng)驗”的過程主要分為兩步走:定義損失函數(shù)、最小化損失函數(shù)。
怎樣來確定一個一條直線最能描述這些樣本點之間的關系,我們可以通過得到最小距離來確定,最小距離直線就是如果有一條直線,所有樣本點到它的距離之和最短,那么我就認為這條直線最能夠描述這些樣本點的關系,直線使用函數(shù)表示為 y = wx + b。因為我們今天討論的是一元函數(shù),通常多元函數(shù)的話,直線可以表示為:
這個公式表示圖形中的那條直線,可以看出公式中唯一要求的值就是θ。現(xiàn)在直線方程已經(jīng)寫好,怎樣去求出這條最小距離直線呢?我們可以列出損失函數(shù),如下:
其中hθ(x^(i))代表每個樣本通過我們模型的預測值,y^(i)代表每個樣本標簽的真實值。損失函數(shù)表明了預測的點到真實點之間的距離之和,如果我們將損失函數(shù)最小化就得到了最小距離直線。
我們將所有的樣本點,依次帶入公式1和2中,最終可以得到一個關于θ的二次方程。舉個栗子,我有三個樣本點(1,2),(2,3),(3,4),首先將第一個樣本點代入公式,x的值代入到公式1此時得到hθ(x) = θ,y的值代入到公式2此時得到(θ-2)^2,同理將第二個樣本點代入得到(2θ-3)^2。最終再將它們相加。所以我們會得到一個關于θ的二次函數(shù),二次函數(shù)優(yōu)化到最小,就是一個二次函數(shù)求極值的問題,只需要對θ求導令導數(shù)等于0即可求出最終θ的值,而將θ的確切值代入公式1中,就得到了最終的機器學習模型。優(yōu)化求解方法如下公式:
通過線性回歸的講解總結(jié)一下:
1.機器學習模型就是通過已有樣本點,通過特定的機器學習算法來學習總結(jié)樣本中的“經(jīng)驗”,得到一個可以歸納樣本關系的一個模型,使用該模型可以達到通過x值來預測y的效果,也就是線性回歸中的那條直線。
2.機器學習算法與優(yōu)化算法的區(qū)別:機器學習算法包含了整個機器學習過程,如線性回歸中,公式 1、2、3都同屬于機器學習算法,而優(yōu)化算法僅僅指的是優(yōu)化最小化損失函數(shù)過程中使用的算法,線性回歸中我們使用的是令導數(shù)等于零(最小二乘法),實際常用的優(yōu)化算法還有:梯度下降算法、牛頓法等。
3.損失函數(shù)就是構建機器學習求解過程的函數(shù),最小化損失函數(shù)是構建機器學習模型的依據(jù),就如線性回歸當中,為什么我們得出的直線就單單是那一條?因為我們有充足的“理由”來說服自己,如果存在一條直線,所有的樣本點到它的距離之和最小,那么我當然可以認為這條直線就是最能夠描述這些樣本點關系的直線。那么將這個問題數(shù)學抽象化,就能夠?qū)懗龉蕉@個損失函數(shù),最終我們將這個損失函數(shù)優(yōu)化到最小得出機器學習模型。