多元線性回歸又稱「multivariate linear regression」。
現在介紹一種可以表示任意輸入變數的符號:
現在定義假設函式的多變數形式,包含以下各種引數:
\(h_\theta (x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \theta_3 x_3 + \cdots + \theta_n x_n\)
為了便於理解,我們可以將 \(\theta_0\) 當作房子的基本**,\(\theta_1\) 當作每平方公尺的**,\(\theta_2\) 當作每層的**等等。則 \(x_1\) 代表房子的平方公尺數,\(x_2\) 代表房子的層數等等。
使用矩陣乘法定義,我們的多元假設函式可以表示為:hθ
(x)=
[θ0θ
1...
θn]⎡
⎣⎢⎢⎢
⎢x0x
1⋮xn
⎤⎦⎥⎥
⎥⎥=θ
tx這是乙個向量化的假設函式的乙個訓練組。
訓練樣本逐行儲存在 \(x\) 中, 例如:x=
⎡⎣⎢⎢
⎢x(1
)0x(
2)0x
(3)0
x(1)
1x(2
)1x(
3)1⎤
⎦⎥⎥⎥
,θ=[
θ0θ1
] 你可以將假設作為乙個 \((m \times 1)\) 的列向量計算:
\(h_\theta(x) = x \theta\)
\(對於向量\ \theta ( \mathbb^ 或者 \mathbb^ )\),成本函式為:
\(j(\theta) = \dfrac \displaystyle \sum_^m \left (h_\theta (x^) - y^ \right)^2\)
使用向量計算:
\(j(\theta) = \frac (x\theta - \vec)^ (x\theta - \vec)\)
\(其中\ \vec\ 表示所有\ y\ 的值。\)
梯度下降等式和之前的形式類似,我們只需要重複計算』n』個即可:
}repeat until convergence:
repeat until convergence:
,for i = 1,…,m 代表第 \ j列\ m\ 個元素,向量\ \vec\ 取自訓練組矩陣\ x\ 。\)
另一部分 \(\left(h_\theta(x^) - y^ \right)是**值 \ h_\theta(x^) \ 和 真實值 \ y^\ 的偏差量的向量。重寫\ \frac\ ,我們得到:\) ∂j
(θ)∂
θj∇j
(θ)=
=1mx
j→t(
xθ−y
⃗ )1m
xt(x
θ−y⃗
) 最後,梯度下降規則的矩陣形式(向量化)表示為:
\(\theta := \theta - \frac x^ (x\theta - \vec)\)
我們可以通過將每個輸入值粗略的控制到乙個範圍加速梯度下降。其中的原理是因為 \(\theta\) 在小的範圍內下降速度很快,大的範圍內下降速度很慢,因此當資料不均勻的時候可能會一直擺動不會降到最佳點。
防止這種情況發生的方法就是修正輸入變數的範圍讓他們粗略的相同:
\(-1 \le x_i \le 1\)
或\(-0.5 \le x_i \le 0.5\)
這些沒有額外的需求,我們僅僅嘗試加速計算。目標是讓所有輸入變數粗略的限制在這個範圍。
有兩種方法可以幫助我們:數值縮放(feature scaling)和均一化(mean normalization)。數值縮放通過輸入變數的範圍分割輸入值,結果是產生乙個新的範圍為1的值。均一化則是減去輸入變數的平均值,得到乙個新的為0的平均值。可以通過一下公式使用這兩種方法調整你的輸入值:
\(x_i := \dfrac\)
其中 \(\mu_i\) 是所有值的平均值,\(s_i\) 是範圍(最大值-最小值),或者 \(s_i\) 也可以是標準差(standard deviation)。
我們可以通過兩種不同的方式改進假設函式的特性和形式。
我們可以將多個特性組合成乙個。例如,我們可以將 \(x_1\ 和\ x_2\ 通過\ x_1 \cdot x_2\ 組合成乙個新特性\ x_3。\)
我們的假設函式不必是線性的(一條直線)如果無法與資料匹配的很好。
我們可以改變行為或通過平方,立方或者平方根函式或者其他形式繪成曲線。
例如,如果我們的假設函式為\(h_\theta(x) = \theta_0 + \theta_1 x_1\) ,我們可以根據 \(x_1\) 建立乙個新特性,得到二次函式 \(h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_1^2\) 或者三次函式 \(h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_1^2 + \theta_3 x_1^3\)
在三次函式中,我們建立了新特性 \(x_2\ 和\ x_3\ ,其中\ x_2=x_1^2,x_3 = x_1^3\)
平方根函式:
\(h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 \sqrt\)
一般等式是一種不需要迭代就可以尋找最適值的方法。
\(\theta = (x^t x)^x^t y\)
使用一般等式時不需要數值縮放(feature scaling)。
梯度下降和一般等式的對比:
使用一般等式計算 \(\mathcal(n^3)\) 逆矩陣會很複雜。所以如果我們由很多數量的特性時,一般等式會很慢。實踐證明,n 小於 10,000 時用一般等式。
當使用一般等式時使用『pinv』函式,不使用『inv』。
機器學習十講 第二講回歸
資料酷客 大講堂 機器學習第二講 用乙個或多個自變數來 因變數的數學方法 在機器學習中,回歸指的是一類 變數為連續值的有監督學習方法 在回歸模型中,需要 的變數叫做因變數,用來解釋因變數變化的變數叫做自變數。一元線性回歸 多元線性回歸 可能遇到的問題 多重共線性 最小二乘的引數估計為 widehat...
day17 機器學習十講第二講
本講歐老師主要講了回歸的一些列問題,從簡單的線性回歸到嶺回歸 lasso回歸。而回歸問題總的來說就是根據所選定的特徵值,通過選定的引數也就是權重,計算出 的目標值,而學習的過程就是得出最符合的權重,使得 值能夠接近真實的目標值。但是如果乙個模型過於複雜,在訓練時 的很準確,那麼就會出現過擬合的問題,...
《機器學習基石》筆記 第二講
第二講主要是通過pla perceptron learning algorithm 講解二分類問題 binary classification 關於pla演算法的基礎內容,在這篇博文已經深入 了,該博文主要記錄一些擴充套件的知識。1假設空間 hypothesis set 對於perceptron來說...