Machine Learning (1): Linear Regression

[TOC]

了解什么是Machine learning
學習中心極限定理稽揭,學習正態(tài)分布,學習最大似然估計
推導回歸 Loss function
學習損失函數(shù)與凸函數(shù)之間的關(guān)系
了解全局最優(yōu)和局部最優(yōu)
學習導數(shù)矛纹,泰勒展開
推導梯度下降公式
寫出梯度下降的代碼

學習L2-Norm,L1-Norm光稼,L0-Norm

推導正則化公式

說明為什么用 L1-Norm 代替 L0-Norm

學習為什么只對w_Θ做限制或南,不對b做限制

1.什么是 Machine Learning?

Machine Learning 可以分為三種類型:

機器學習的涉及的知識比例分布:
35% 線性代數(shù)
25% 概率論和統(tǒng)計學
15% 微積分
15% 算法及其復雜性
10% 數(shù)據(jù)預處理知識

Regression
Classification
Deep Learning
Semi-supervised Learning
Transfer Learning
Unsupervised Learning
Reinforcement Learning

2.基礎概念

2.1 正態(tài)分布

標準正態(tài)分布的圖像艾君,如下所示:

2.1 中心極限定理 Central Limit Theorem
2.1 最大似然估計(MLE)

核心思想:在給出數(shù)據(jù)樣本集的情況下采够,找出最大可能產(chǎn)生該樣本集的參數(shù)值。

MLE 提供了一種給定觀測數(shù)據(jù)來評估模型參數(shù)的方法冰垄,即「模型已定蹬癌,參數(shù)未知」的時候,通過最大似然估計找到能夠使樣本數(shù)據(jù)出現(xiàn)概率最大的參數(shù)值虹茶,這便是最大似然估計逝薪。需要注意的是,這里的參數(shù)有一定的值蝴罪,并非隨機變量董济,無概率可言,于是使用「似然」這個詞要门。

3.Linear Regression

3.1 模型定義

「線性回歸」是用于解決回歸問題最為基礎的模型虏肾。線性回歸假設輸入和輸出為線性關(guān)系,其模型定義如下:

h(x) = w_1x_1 + w_2x_2 + w_3x_3 + ···+ w_n x_n + b \tag{1}

為了更直觀一點欢搜,重寫為向量的形式:

h(x) = \left[ \begin{array}{ccc} w_1 & w_2 & w_3 & ··· & w_n\end{array} \right] \left[ \begin{array}{ccc} w_1 \\ w_2 \\ w_3 \\ ··· \\ w_n\end{array} \right] + b = w^{T} x + b \tag{2}

進一步簡化表示封豪,可以在每個輸入 x = \left[ \begin{array}{ccc} x_1 & x_2 & x_3 & ··· & x_n\end{array} \right]^T 中添加一項 x_0 = 1,得到:x = \left[ \begin{array}{ccc} x_0 & x_1 & x_2 & x_3 & ··· & x_n\end{array} \right]^T 炒瘟。

同樣的吹埠,令 w_0 = b 可以得到 w = \left[ \begin{array}{ccc} w_0 & w_1 & w_2 & w_3 & ··· & w_n\end{array} \right]^T ,這樣模型就可以表示為:

h_w(x) = \sum_{i=0}^bf0cfp0{w_{i} x_{i}} = w^Tx

有些時候,會使用 \theta 來表示參數(shù):

h_{\theta}(x) = \sum_{i=0}^nk5urt9{\theta_{i} x_{i}} = \theta^Tx

3.2 模型推導

現(xiàn)在給定 N 個數(shù)據(jù)\{(x^{(1)}, y^{(1)}), (x_2, y_2), (x_3, y_3), ... ,(x_n, y_n)\}, 如何求得線性回歸模型的參數(shù) w 呢藻雌?

Cost Function

J(\theta) = \frac{1}{2m} \sum^{m}_{i=1} (h_\theta(x^{(i)}) - y^{(i)})^2

The Normal Equations

概率視角

y(\textbf{x}) = \textbf{w}^T\textbf{x} + \epsilon = \sum^D_{i=1}{w_ix_i} + \epsilon

其中,\textbf{w}^T\mathbf{x} 表示輸入向量 \textbf{x} 與 模型權(quán)重向量 \mathbf{w} 的內(nèi)積(又稱數(shù)量積斩个,點積 )胯杭,\epsilon 表示預測值和真實值之間的殘差(Residual Error)。

在 Linear Regression 中受啥,通常假設 \epsilon 服從正態(tài)分布(也叫高斯分布)做个,即 ε ~ N(μ,σ^2)μ 為均值滚局,σ^2 為方差居暖,在這里 μ=0σ^2 為定值藤肢。

當噪聲符合正態(tài)分布N(0,\delta^2)時太闺,因變量則符合正態(tài)分布N(ax(i)+b,\delta^2),其中預測函數(shù) y=ax(i)+b嘁圈。這個結(jié)論可以由正態(tài)分布的概率密度函數(shù)得到省骂。也就是說當噪聲符合正態(tài)分布時,其因變量必然也符合正態(tài)分布最住。

在用線性回歸模型擬合數(shù)據(jù)之前钞澳,首先要求數(shù)據(jù)應符合或近似符合正態(tài)分布,否則得到的擬合函數(shù)不正確涨缚。

若本身樣本不符合正態(tài)分布或不近似服從正態(tài)分布轧粟,則要采用其他的擬合方法,比如對于服從二項式分布的樣本數(shù)據(jù)脓魏,可以采用 logistics 線性回歸兰吟。

于是,可以將「線性回歸」模型重寫為:

p(y|x, θ) = N (y|μ(x), σ^{2}(x))

這表明「線性回歸」模型屬于一種條件概率分布轧拄。這里采用最簡單的形式揽祥,假設 μ 是關(guān)于 \textbf{x} 的線性函數(shù),即 μ = \textbf{w}^T\textbf{x}檩电,并且噪聲是固定的 σ^2(\textbf{x}) = σ^2

In this case, θ = (w, σ^2) are the parameters of the model.

求解模型參數(shù):
1.LMS

2.Norm Equations

3.MLE

「預測值」 與 「真實值」 之間存著誤差

y(\textbf{x}) = \textbf{w}^T\textbf{x} + \epsilon = \sum^D_{i=1}{w_ix_i} + \epsilon

L(w) =

J(\theta) = \frac{1}{2} \sum^{m}_{i=1} (h_\theta(x^{(i)}) - y^{(i)})^2

Gradient Discent

\theta_j = \theta_j - \eta \frac{\partial{J(\theta)}}{\partial{\theta_j}}

按照最小二乘法拄丰,我們直接求出導數(shù)為0的點,但是有時候很難解出方程俐末,就考慮使用迭代的方法料按,首先取一個隨機數(shù),然后每一次去想著目標結(jié)果逼近卓箫,而為了效率最高载矿,我們向著梯度下降最快的方向,既θ在偏導數(shù)上的取值。而α是學習速率闷盔,是個很重要的參數(shù)弯洗,設置過大會導致超過最小值,過小則學習的太慢逢勾。

\frac{\partial{J(\theta)}}{\partial{\theta_j}} = \frac{\partial{}}{\partial{\theta_j}} \frac{1}{2} \sum^{m}_{i=1} (h_\theta(x^{(i)}) - y^{(i)})^2 = (yhat - y)x_j

動手實現(xiàn)Linear Regression

1.創(chuàng)建數(shù)據(jù)集

import random
import numpy as np

num_inputs = 2
num_examples = 1000

true_w = [2, -3.4]
true_b = 4.2

features = np.random.randn(num_examples, num_inputs)
print(features.shape)

labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] + true_b
print(labels.shape[0])

# 給 y 加上隨機噪聲
labels +=  0.01 * np.random.randn(labels.shape[0])

print(features[0], labels[0])
print(np.dot(features[0],true_w)+true_b, labels[0])

2.可視化

from matplotlib import pyplot as plt
# 繪制數(shù)據(jù)的散點圖 
plt.scatter(features[:, 1], labels)
plt.show()

3.數(shù)據(jù)讀取

4.定義模型

Norm 范數(shù)

L0 范數(shù)指的是向量中非零元素的個數(shù)牡整。
L1 范數(shù)是指向量中各個元素絕對值之和。
L2 范數(shù)指的是向量中各個元素的平方和的 \frac{1}{2} 次方溺拱。

L0 范數(shù)難以求解
L1 范數(shù)可以使得權(quán)值稀疏逃贝,方便進行特征提取。
L2 范數(shù)可以防止過擬合迫摔,提升模型泛化能力沐扳。

為了防止模型的過擬合,我們在建立線性模型的時候經(jīng)常需要加入正則化項句占。一般有 「L1正則化」 和「L2正則化」沪摄。

推導正則化公式

J(\theta) = \frac{1}{2m} \left[ \sum^{m}_{i=1} (h_\theta(x^{(i)}) - y^{(i)})^2 + \alpha \sum_{j=1}^{n}{\theta_{j}^{2}} \right]

說明為什么用 L1-Norm 代替 L0-Norm

線性回歸的 L1 正則化通常稱為 Lasso回歸,它和一般線性回歸的區(qū)別是在損失函數(shù)上增加了一個 L1正則化的項纱烘,L1 正則化的項有一個常數(shù)系數(shù) \alpha 來調(diào)節(jié)損失函數(shù)的均方差項和正則化項的權(quán)重卓起,具體Lasso回歸的損失函數(shù)表達式如下:

Lasso Regression

線性回歸的L2正則化通常稱為Ridge回歸,它和一般線性回歸的區(qū)別是在損失函數(shù)上增加了一個L2正則化的項凹炸,和Lasso回歸的區(qū)別是Ridge回歸的正則化項是L2范數(shù)戏阅,而Lasso回歸的正則化項是L1范數(shù)。具體Ridge回歸的損失函數(shù)表達式如下:

Ridge回歸在不拋棄任何一個特征的情況下啤它,縮小了回歸系數(shù)奕筐,使得模型相對而言比較的穩(wěn)定,但和Lasso回歸比变骡,這會使得模型的特征留的特別多离赫,模型解釋性差。

Ridge回歸的求解比較簡單塌碌,一般用最小二乘法渊胸。這里給出用最小二乘法的矩陣推導形式,和普通線性回歸類似台妆。

Ridge Regression

為什么正則化只對參數(shù) w/\theta 做限制翎猛,而不對 b 做限制?
答:都可以做限制接剩,但在實際問題中切厘,w 往往是高維度的,而 b 只是單個數(shù)字懊缺,實際上不會起太大作用疫稿。

http://cs229.stanford.edu/notes-spring2019/cs229-notes1.pdf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遗座,更是在濱河造成了極大的恐慌舀凛,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件途蒋,死亡現(xiàn)場離奇詭異腾降,居然都是意外死亡,警方通過查閱死者的電腦和手機碎绎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抗果,“玉大人筋帖,你說我怎么就攤上這事≡┝螅” “怎么了日麸?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逮光。 經(jīng)常有香客問我代箭,道長,這世上最難降的妖魔是什么涕刚? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任嗡综,我火速辦了婚禮,結(jié)果婚禮上杜漠,老公的妹妹穿的比我還像新娘极景。我一直安慰自己,他們只是感情好驾茴,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布盼樟。 她就那樣靜靜地躺著,像睡著了一般锈至。 火紅的嫁衣襯著肌膚如雪晨缴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天峡捡,我揣著相機與錄音击碗,去河邊找鬼。 笑死们拙,一個胖子當著我的面吹牛延都,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睛竣,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晰房,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起殊者,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤与境,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后猖吴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摔刁,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年海蔽,在試婚紗的時候發(fā)現(xiàn)自己被綠了共屈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡党窜,死狀恐怖拗引,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幌衣,我是刑警寧澤矾削,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站豁护,受9級特大地震影響哼凯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜楚里,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一断部、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧班缎,春花似錦家坎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苏携,卻和暖如春做瞪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背右冻。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工装蓬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纱扭。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓牍帚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乳蛾。 傳聞我的和親對象是個殘疾皇子暗赶,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355