線性回歸

鏈接:
1. 線性回歸總結(jié)
2. 正則化
3. 邏輯回歸
4. Boosting
5. Adaboost算法


一. 模型介紹

線性回歸簡而言之就是在平面中用一條直線去擬合一些點(diǎn)數(shù)據(jù),在三維空間中就是用一個(gè)平面去擬合三維中的數(shù)據(jù),而我們要做的就是尋找出一條最佳的線段或者平面去擬合數(shù)據(jù),當(dāng)然高維情況類似去尋找超平面穿稳。
初中的時(shí)候我們就學(xué)習(xí)過一元一次方程,那就是一個(gè)簡單的擬合過程,只不過那個(gè)是完全可以擬合在一條線上,現(xiàn)在要做的是在有誤差或者數(shù)據(jù)非線性排列的情況下,我們只能去盡力找出一條最佳的擬合線路:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,10,2).reshape(-1,1)
y = a*2 
plt.plot(x,y,'r-',linewidth=2, label=u"線性擬合")
plt.plot(x,y, 'bo')
plt.show()
完全擬合,二元一次方程組求解;(數(shù)據(jù)線性情況下)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

x = np.arange(1,10,2).reshape(-1,1)
y = a*2 + np.random.randn(5)
linear_model = LinearRegression()
linear_model.fit(x.reshape(-1, 1),y)
y_pre = linear_model.predict(x)
plt.plot(x,y_pre,'r-',linewidth=2, label=u"線性擬合")
plt.plot(x,y, 'bo')
plt.show()
線性回歸;尋找最佳的擬合線段;(數(shù)據(jù)非線性情況下)

定義一下一些符號表達(dá)吧史,我們通常習(xí)慣用X=(x1,x2,...,xn)T∈?n×p表示數(shù)據(jù)矩陣,其中xi∈?p表示一個(gè)p維度長的數(shù)據(jù)樣本艺智;y=(y1,y2,...,yn)T∈?n表示數(shù)據(jù)的label,這里只考慮每個(gè)樣本一類的情況浪默。

線性回歸的模型是這樣的塞弊,對于一個(gè)樣本xi,它的輸出值是其特征的線性組合:

線性表達(dá)式

其中强窖,w0稱為截距凸椿,或者bias,通過設(shè)置X中X0=1,向量表達(dá),簡化了形式翅溺,因此實(shí)際上xi有p+1維度脑漫。
線性回歸的目標(biāo)是用預(yù)測結(jié)果盡可能地?cái)M合目標(biāo)label,

二. 損失函數(shù)

從下圖來直觀理解一下線性回歸優(yōu)化的目標(biāo)——圖中線段距離(平方)的平均值未巫,也就是最小化到分割面的距離和窿撬。


三維中擬合后的情況

這里我們要做的是在隨機(jī)放置權(quán)值W的情況下不斷的優(yōu)化程式,以達(dá)到效果最佳的情況,這里的優(yōu)化指的是盡量讓各個(gè)點(diǎn)擬合在所求超平面,如果不能擬合,也要使得其距離超平面最近為好,也就是可以定義損失函數(shù)

損失函數(shù)

三. 求解過程

由于上述損失函數(shù)圖形如下,我們這里選用兩種方式去求解


J(θ)平面

1. 矩陣滿秩:###

這種形式下我們可以通過求解導(dǎo)數(shù)為零的方式求解算法启昧,可以直接得到最后的W權(quán)值.


矩陣形式轉(zhuǎn)換

求解過程

1. 矩陣不滿秩:###

當(dāng)矩陣不滿秩叙凡,無法求得上述的矩陣逆解,這里采用梯度下降法進(jìn)行求解密末,梯度下降法通常分為三種形式:整體批次梯度下降法握爷,隨機(jī)梯度下降法和批量梯度下降法.
  梯度下降算法是一種求局部最優(yōu)解的方法跛璧,對于F(x),在a點(diǎn)的梯度是F(x)增長最快的方向新啼,那么它的相反方向則是該點(diǎn)下降最快的方向追城,具體參考wikipedia
   原理:將函數(shù)比作一座山燥撞,我們站在某個(gè)山坡上座柱,往四周看,從哪個(gè)方向向下走一小步物舒,能夠下降的最快色洞;注意:當(dāng)變量之間大小相差很大時(shí),應(yīng)該先將他們做處理冠胯,使得他們的值在同一個(gè)范圍火诸,這樣比較準(zhǔn)確。
1)首先對θ賦值荠察,這個(gè)值可以是隨機(jī)的置蜀,也可以讓θ是一個(gè)全零的向量。
2)改變θ的值悉盆,使得J(θ)按梯度下降的方向進(jìn)行減少盯荤。
 描述一下梯度減少的過程,對于我們的函數(shù)J(θ)求偏導(dǎo)J:


下圖表達(dá)出解得最終結(jié)果與初始值相關(guān):
梯度下降方式

在這里我們需要進(jìn)行的是:


迭代公式

在批量梯度下降中焕盟,每一次參數(shù)更新都會遍歷全部的訓(xùn)練數(shù)據(jù){x1, y1}, {x2, y2}, ... , {xm,ym}對于線性回歸問題廷雅,這種方法可以得到一個(gè)全局最優(yōu)解,但是當(dāng)樣本數(shù)據(jù)量很大的時(shí)候京髓,會非常耗時(shí)航缀。

多項(xiàng)式回歸

我們可以通過設(shè)計(jì)高階特征在線性回歸的基礎(chǔ)上實(shí)現(xiàn)多項(xiàng)式回歸。對于線性回歸的hypothesis,



令$ x2=x1^2, x3=x1^3 $,實(shí)現(xiàn)了一個(gè)3次多項(xiàng)式的回歸:



這也是用線性模型實(shí)現(xiàn)非線性的常用方法堰怨。這種方式能夠擬合出非線性的超平面芥玉,有時(shí)候表現(xiàn)出很好的特性
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
X_train = [[6], [8], [10], [14], [18]]
y_train = [[7], [9], [13], [17.5], [18]]
X_test = [[6], [8], [11], [16]]
y_test = [[8], [12], [15], [18]]

quadratic_featurizer = PolynomialFeatures(degree=2)
X_train_quadratic = quadratic_featurizer.fit_transform(X_train)
X_test_quadratic = quadratic_featurizer.transform(X_test)
xx = np.linspace(0, 26, 100)
regressor_quadratic = LinearRegression()
regressor_quadratic.fit(X_train_quadratic, y_train)
xx_quadratic = quadratic_featurizer.transform(xx.reshape(xx.shape[0], 1))
plt.plot(xx, regressor_quadratic.predict(xx_quadratic), 'r-')
plt.show()
多項(xiàng)式回歸與一般線性回歸對比

線性回歸代碼地址

參考:
機(jī)器學(xué)習(xí)方法:回歸(一):線性回歸Linear regression
機(jī)器學(xué)習(xí)-----線性回歸淺談(Linear Regression)
Stanford機(jī)器學(xué)習(xí)筆記-1.線性回歸
線性回歸

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市备图,隨后出現(xiàn)的幾起案子灿巧,更是在濱河造成了極大的恐慌,老刑警劉巖揽涮,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抠藕,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒋困,警方通過查閱死者的電腦和手機(jī)盾似,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雪标,“玉大人零院,你說我怎么就攤上這事溉跃。” “怎么了告抄?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵撰茎,是天一觀的道長。 經(jīng)常有香客問我打洼,道長龄糊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任募疮,我火速辦了婚禮绎签,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酝锅。我一直安慰自己诡必,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布搔扁。 她就那樣靜靜地躺著爸舒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稿蹲。 梳的紋絲不亂的頭發(fā)上扭勉,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機(jī)與錄音苛聘,去河邊找鬼涂炎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛设哗,可吹牛的內(nèi)容都是我干的唱捣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼网梢,長吁一口氣:“原來是場噩夢啊……” “哼震缭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起战虏,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拣宰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后烦感,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巡社,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年手趣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晌该。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖气笙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怯晕,我是刑警寧澤潜圃,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站舟茶,受9級特大地震影響谭期,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吧凉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一隧出、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阀捅,春花似錦胀瞪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忍级,卻和暖如春帆谍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背轴咱。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工汛蝙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朴肺。 一個(gè)月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓窖剑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親戈稿。 傳聞我的和親對象是個(gè)殘疾皇子苛吱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • AI人工智能時(shí)代,機(jī)器學(xué)習(xí)器瘪,深度學(xué)習(xí)作為其核心翠储,本文主要介紹機(jī)器學(xué)習(xí)的基礎(chǔ)算法,以詳細(xì)線介紹 線性回歸算法 及其 ...
    erixhao閱讀 13,883評論 0 36
  • 1 摘要 本報(bào)告是在學(xué)習(xí)斯坦福大學(xué)機(jī)器學(xué)習(xí)課程前四節(jié)加上配套的講義后的總結(jié)與認(rèn)識。前四節(jié)主要講述了回歸問題欣除,回歸屬...
    chaaffff閱讀 2,812評論 0 2
  • 1住拭、回歸的來源? 英國人類學(xué)家F.Galton首次在《自然遺傳》一書中,提出并闡明了“相關(guān)”和“相關(guān)系數(shù)”兩個(gè)概念...
    FreeLuo閱讀 1,159評論 1 0
  • 理論部分 回歸是統(tǒng)計(jì)學(xué)中最有力的工具之一滔岳。監(jiān)督學(xué)習(xí)算法分為分類算法和回歸算法兩種杠娱,其實(shí)就是根據(jù)類別標(biāo)簽分布類型為離...
    H2016閱讀 5,185評論 0 9
  • 搭建編程環(huán)境 此處推薦安裝Octave,如若已安裝Matlab也可谱煤。這里不過多敘述如何安裝Octave或Matla...
    SmallRookie閱讀 978評論 0 0