機(jī)器學(xué)習(xí)(1)-線性回歸

對(duì)于給定的維度為d的特征x=(x1,x2...xd),建立線性模型y=w1x1+w2x2...wdxd+b。給予m對(duì)的樣本X,Y。其中實(shí)際結(jié)果為Y=(y1,y2...ym)T,屬性為矩陣X=(x1T,x2T...xmT)T,如下,其中矩陣中最后一行為1是與偏移量b相乘。

特征屬性

建立線性模型,則設(shè)定每個(gè)屬性對(duì)應(yīng)的權(quán)值w=(w1,w2...wd,b)T,那預(yù)測(cè)值Y'可以表示為:
權(quán)重

預(yù)測(cè)值

那么得出預(yù)測(cè)值與樣本真實(shí)值對(duì)比,得到均方誤差:
均方誤差

由式子可見(jiàn),調(diào)整各個(gè)權(quán)重w的值可以使得預(yù)測(cè)均方誤差最小,求上式最小值,即需要求導(dǎo),對(duì)矩陣求導(dǎo)可參考維基百科Matrix calculus中表格公式,最后得到結(jié)果如下:
求導(dǎo)

當(dāng)XTX為滿(mǎn)秩矩陣時(shí),上式取零則得到最優(yōu)解:

下面以一組簡(jiǎn)單一維特征樣本實(shí)驗(yàn)(x,y)=(1,1.1), (2,1.9), (3,3.1), (4,3.9)得到擬合直線如下圖:


擬合直線

程序如下:

import matplotlib.pyplot as plt
import numpy as np
x = np.matrix([[2,1],[2,1],[3,1],[4,1]])
y = np.matrix([1.1,1.9,3.1,3.9]).T
w = ((x.T*x).I * x.T) *y
plt.figure(1)
plt.plot((x[:,0]),y,'x')
Xr=np.linspace(0,5,101)
Yr=w[0,0]*Xr+w[1,0]
plt.plot(Xr,Yr)

參考:

通過(guò)一個(gè)例子快速上手矩陣求導(dǎo)
Matrix calculus
周志華 機(jī)器學(xué)習(xí) 清華大學(xué)出版社 2017

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 來(lái)源: http://www.douban.com/group/topic/14820131/ 調(diào)整變量格式: f...
    MC1229閱讀 7,134評(píng)論 0 5
  • MCMC和Gibbs Sampling 1.隨機(jī)模擬 隨機(jī)模擬又名蒙特卡羅方法,蒙特卡羅方法的源頭就是當(dāng)年用...
    wlj1107閱讀 6,512評(píng)論 3 6
  • thiele插值算法 1點(diǎn)插值算法 function [C,c]=thiele(X,Y,Z)%X為插值點(diǎn)橫坐標(biāo),Y...
    00crazy00閱讀 2,177評(píng)論 0 4
  • 1. 經(jīng)驗(yàn)誤差與過(guò)擬合 錯(cuò)誤率:分類(lèi)錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例 例如:m個(gè)樣本中有a個(gè)樣本分類(lèi)錯(cuò)誤,則錯(cuò)誤率為 ...
    geekspeng閱讀 3,193評(píng)論 0 3
  • 愛(ài)是不能炫耀的。不像歌詞里的,被偏愛(ài)的都有恃無(wú)恐。 回頭看還能看見(jiàn)以前文字里孤獨(dú)又無(wú)奈的大寶貝啊。 想到一句話,愛(ài)...
    jelly_閱讀 217評(píng)論 0 0

友情鏈接更多精彩內(nèi)容