iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 3
0

線性迴歸(Linear Regression)

線性迴歸,是個在機器學習常常聽到的一個專有名詞,如果有修過統計學相關的課程,對這個名詞也一定不陌生。

線性相信大家一定理解,不過迴歸到底是什麼?

怎樣的行為才能被定義為回歸呢?維基百科這樣說:

  1. 目的在於找出一條最能夠代表所有觀測資料的函數
  2. 用此函數代表因變數和自變數之間的關係。

因此,用白話一點的方式來說,線性迴歸的意思就是**「找出一條直線,這條直線能夠代表目前的資料走向」**。

直接用算式表達的話,就是國高中數學經常出現的:
https://ithelp.ithome.com.tw/upload/images/20171222/20103565eSfLKJGj7c.png

給定兩個點,我們就可以帶入上式求得直線。而線性迴歸也是在做同樣的事,只是差別在於:

  • 求方程式時我們是給定了點的座標,但通常資料的座標我們不知道,會分布在各處
  • 線性迴歸透過不斷調整 a(權重)的方式,試圖找到一個最佳解。

(這邊的 a 通常被稱作權重,因此 a 也常常用 w weight,權重來表達,而 x 被稱為特徵)

再來,我們看到下面這兩張圖,這就是線性迴歸在做的事:

https://ithelp.ithome.com.tw/upload/images/20171222/20103565fgF9VKJdWk.png

你認為哪一張的線比較能代表資料的分佈情形?

第一張對吧,我們可以看到線的走向(斜率)跟資料座標分布的趨勢是差不多的。雖然我們可以用肉眼觀察這件事,但對於電腦來說要如何判別呢?

點的距離

首先我們先將求得的方程式代入目前的點看看,這些代表資料上的點跟目前的線的距離,我們通常稱為誤差(error),也有人叫做損失(cost)。

把誤差加總後就是這條線和目前的資料的總誤差值,我們希望這個值越小越好。

https://ithelp.ithome.com.tw/upload/images/20171222/20103565b0Mlx8yzGR.png

最小平方法

如果我們把這條線跟平面上的每個點的距離做加總再算平均,會發現其實上面第一條線的誤差並不大,原因是:
https://ithelp.ithome.com.tw/upload/images/20171222/20103565cewON9z8Ek.png
如果依照上面的式子做運算,error 有可能會出現正負,而正負抵消就會把我們誤差給消掉。導致第一條線也被電腦認為是一條理想的線。

因此,稍微修改一下:
https://ithelp.ithome.com.tw/upload/images/20171222/20103565rjnAWNoWtY.png

我們想要最小化 error,明天我們會介紹一個在機器學習當中常常用來找最小值的技巧 — 梯度下降法

應用

像是房價預測、股市預測等等,都可以用 linear regression 來做分析,例如房價可能會和房屋大小有關係,我們可以找自己認為合理的特徵來訓練。只要找到適當的權重值 W,就可以得到預測的點。


上一篇
[Day2] 什麼是機器學習?
下一篇
[Day4] 梯度下降法(Gradient Descent)
系列文
Machine Learning 與 Deep Learning 筆記10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
patrickcheng
iT邦新手 4 級 ‧ 2018-02-05 12:33:38

簡明易懂, good job.

我要留言

立即登入留言