machine learning 下的 Linear Regression 實作(使用python)

yuwei
Jacky’s blog
Published in
Sep 27, 2018

--

source

前言:

大家好, 今天這篇我主要是想向大家介紹機器學習演算法裡的linear regression, 小弟不才, 如有疏漏, 麻煩協助傳送問題到我的信箱, 我的信箱是jacky308082@gmail.com

那就開始吧!

首先, 向各位說明, 我今天這篇的觀念主要還是從台大機器學習大神李宏毅老師的vlog 精彩的教導而來,老師真的講得很棒

Linear Regression

其中文稱為線性迴歸, 使用function並給予眾多features的權重來預測你的target的數值, 對,沒錯!要記住你所獲得的數值,不是像我之前project裡面所使用的分類演算法, 單純將target分成0或1, 而linear regression 在圖上不一定會以直線來表示, 也可能是以曲線方式示之

function input — function output(scalar)

在每一個演算中, 我們會從其model function, loss function 和最後引進的data 進行介紹

model function

就是linear regression的function ,舉兩個參數的linear regression為例

βi : 為權重(也就是模型的參數)

β0 : 為截距(intercept)

Xi : 放入input(又稱自變項)

ε : 為bias(偏誤值)(也可以說是noise(噪音值)

y= 反應變數(又稱應變項)

舉例來說, 當你的β1為1.2時, 如果你的x1每增加1單位,y就會增加1.2

將βi轉向並乘上Xi向量(X0為1),這樣β0*X0一樣為截距

再來是透過最大概似估計法求出β 方程式,如有興趣探討後面代表的數學意義,可以去閱讀這領域的神書

不知道你是否有注意到這次的 β上面被帶了一個帽子(hat), 我們也通常用加這個符號來代表該參數的預測值

在這裡,既然我們已經有了預測的β值, 我們有將我們的training data 加入並求出y_hat值

Loss function

--

--

yuwei
Jacky’s blog

Curious Data scientist. Strong Lebron James’s fan. #StriveForGreatness #JustAKidFromTaiwan https://www.linkedin.com/in/yu-wei-chung/