日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线性回归的补充与变量归一化

發布時間:2023/12/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性回归的补充与变量归一化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緊接上一篇博客,多變量梯度下降法的表達式形式與單變量一致,只是變量的擴充以及每次迭代需要對每個變量進行操作(同樣是所有變量一次性更新)。假設函數、代價函數和梯度下降的表達式分別如下:
hθ(x)=θTxh_\theta(x)=\theta^Txhθ?(x)=θTxJ(θ)=12m∑i=0m(hθ(xi)?yi)2J(\theta)=\frac{1}{2m}\sum_{i=0}^{m}(h_\theta(x_i)-y_i)^2J(θ)=2m1?i=0m?(hθ?(xi?)?yi?)2KaTeX parse error: No such environment: align at position 7: \begin{?a?l?i?g?n?}?\theta_j:=\thet…
對于多變量,往往每個特征變量的取值范圍差異很大,在利用梯度下降法進行迭代運算求J(θ)J(\theta)J(θ)的最小值時,迭代路徑受數值大的變量影響較大,而數值小的變量可能會在最優值附近反復振蕩,造成迭代路徑的曲折,收斂緩慢。因此為了更快收斂,一般把各變量歸一化成取值范圍大概一致(feature scaling)。一般取?1≤xi≤1-1\leq x_i \leq 1?1xi?1或者?0.5≤xi≤0.5-0.5 \leq x_i \leq 0.5?0.5xi?0.5,(不是嚴格規定)。對于一個一般變量,通常取xi:=xi?μisix_i:=\frac{x_i-\mu_i}{s_i} xi?:=si?xi??μi??這里μi\mu_iμi?xix_ixi?樣本平均值sis_isi?是取值范圍(max - min),或者sis_isi?取為標準差。

[外鏈圖片轉存失敗(img-69raoK7f-1562665150709)(https://img-my.csdn.net/uploads/201206/28/1340891220_5273.jpg)]

對于回歸問題,顯然假設函數hθ(x)h_\theta(x)hθ?(x)并不是與每個特征變量均成線性關系,可能會出現如$h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2^2 $的形式,這稱為多項式回歸(Polynomial Regression)

但是,可以通過適當變形把其轉變為線性回歸。在此例子中,令x2=x22x_2=x_2^2x2?=x22?,則hθ(x)=θ0+θ1x1+θ2x2h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2hθ?(x)=θ0?+θ1?x1?+θ2?x2?。此外,可令x3=x1x2x_3=x_1x_2x3?=x1?x2?x4=x1x_4=\sqrt{x_1}x4?=x1??等各種不同方式對變量變形,使其成為線性回歸問題。運用變形后,變量范圍的歸一化就變得尤為重要。

另一種解線性回歸問題的方法是標準方程法(Normal Equation),運用該方法,可以不需要迭代而直接求出θ\thetaθ。該方程如下:θ=(XTX)?1XTy\theta=(X^TX)^{-1}X^{T}yθ=(XTX)?1XTy
這里θ=[θ0θ1θ2...]\theta =\left[\begin{matrix}\theta_0\\\theta_1\\\theta_2\\...\end{matrix}\right]θ=?????θ0?θ1?θ2?...??????y=[y0y1y2...]y=\left[\begin{matrix}y_0\\y_1\\y_2\\...\end{matrix}\right]y=?????y0?y1?y2?...??????X=[x0(1)x1(1)x2(1)...x0(2)x1(2)x2(2)...x0(3)x1(3)x2(3)...............]X=\left[\begin{matrix}x_0^{(1)}&x_1^{(1)}&x_2^{(1)}&...\\x_0^{(2)}&x_1^{(2)}&x_2^{(2)}&...\\x_0^{(3)}&x_1^{(3)}&x_2^{(3)}&...\\...&...&...&...\end{matrix}\right]X=??????x0(1)?x0(2)?x0(3)?...?x1(1)?x1(2)?x1(3)?...?x2(1)?x2(2)?x2(3)?...?............???????
例子如下:

這個結論來源于線性代數中的投影,具體推導參考http://open.163.com/movie/2010/11/J/U/M6V0BQC4M_M6V2AJLJU.html

梯度下降法和標準方程法的比較:

Gradient DescentNormal Equation
需要選擇合適的參數α\alphaα不需要選擇參數
需要多次迭代不需要迭代
算法復雜度O(kn2)O(kn^2)O(kn2)O(n3)O(n^3)O(n3),因要計算XTXX^TXXTX的逆矩陣
當樣本數n很大時依然高效樣本數n很大時計算慢

如果XTXX^TXXTX不可逆,有以下兩方面原因:
1、存在多余的特征變量,如其中兩個特征變量存在線性關系,如x2=2x1x_2=2x_1x2?=2x1?
2、相比較樣本數據,特征變量太多,即m&lt;nm&lt;nm<n,這里mmm是樣本個數,nnn是特征變量個數

在Octave/Matlab中,用pinv()代替inv()實現矩陣取逆,即使矩陣不可逆時也可以得到正確的結果。
即標準方程的代碼實現為:

theta = pinv(X'*X)*X'*y;

總結

以上是生活随笔為你收集整理的线性回归的补充与变量归一化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。