欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

第四章多变量线性回归

时间:2023-05-28
文章目录

第四章 多变量线性回归

4.1 多变量 Multiple features4.2 多元梯度下降法4.3 特征和多项式回归4.4 正规方程 第四章 多变量线性回归 4.1 多变量 Multiple features

标记 Notation

n n n:特征数量(变量数量) m m m :样本数量 x ( i ) x^{(i)} x(i) :索引样本(一个 n n n 维变量) x j ( i ) x^{(i)}_j xj(i)​:第 i i i 个样本的第 j j j 个特征量的值

函数变化: h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_{theta}(x)=theta_0+theta_1x_1+theta_2x_2+...+theta_nx_n hθ​(x)=θ0​+θ1​x1​+θ2​x2​+...+θn​xn​、

内积 inner product 表示:设 x 0 = 1 x_0=1 x0​=1,则 h θ ( x ) = θ T ⋅ x = [ θ 0 , θ 1 , θ 2 , . . . , θ n ] ⋅ [ x 0 x 1 x 2 . . . x n ] h_{theta}(x)={color{red}theta^Tcdot x}=begin{bmatrix}theta_0,theta_1,theta_2,...,theta_nend{bmatrix}cdot begin{bmatrix}x_0\x_1\x_2\...\x_nend{bmatrix} hθ​(x)=θT⋅x=[θ0​,θ1​,θ2​,...,θn​​]⋅⎣⎢⎢⎢⎢⎡​x0​x1​x2​...xn​​⎦⎥⎥⎥⎥⎤​,记为多元线性回归 Multivariate linear regression。 4.2 多元梯度下降法

Hypothesis: h θ ( x ) = θ T x = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_{theta}(x)=theta^Tx=theta_0x_0+theta_1x_1+theta_2x_2+...+theta_nx_n hθ​(x)=θTx=θ0​x0​+θ1​x1​+θ2​x2​+...+θn​xn​

Parmeters: θ ^ = θ 0 , θ 1 , . . . , θ n hattheta=theta_0,theta_1,...,theta_n θ^=θ0​,θ1​,...,θn​

Cost function: J ( θ 0 , θ 1 , . . . , θ n ) = J ( θ ^ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(theta_0,theta_1,...,theta_n)=J(hattheta)=dfrac{1}{2m}sumlimits_{i=1}^mleft(h_{theta}(x^{(i)})-y^{(i)}right)^2 J(θ0​,θ1​,...,θn​)=J(θ^)=2m1​i=1∑m​(hθ​(x(i))−y(i))2

梯度下降法 Gradient Descent:当 n ≥ 1 nge 1 n≥1 时
R e p e a t { θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) } j = 0 , 1 , . . . , n Repeatleft{theta_j:=theta_j-alphadfrac{1}{m}sumlimits_{i=1}^mleft(h_{theta}(x^{(i)})-y^{(i)} right)x_j^{(i)}right}qquad j=0,1,...,n Repeat{θj​:=θj​−αm1​i=1∑m​(hθ​(x(i))−y(i))xj(i)​}j=0,1,...,n

特征缩放 Feature Scaling

目的:使得特征量范围相近,减少迭代次数,增加下降速度方法:使得每个特征量在 [ − 1 , 1 ] [-1,1] [−1,1] 的范围内。(若大于 [ − 3 , 3 ] [-3,3] [−3,3] 或小于 [ − 1 3 , 1 3 ] [-frac{1}{3},frac{1}{3}] [−31​,31​] 时就需要除以最大值进行调整)

均值归一化 Mean Normalization:先用 x i − μ i x_i-mu_i xi​−μi​ 代替 x i x_i xi​ 来使平均值约为 0 0 0

近似即可

x i ⟵ x − μ i s i = x − μ i max ⁡ − min ⁡ x_ilongleftarrow dfrac{x-mu_i}{s_i}= dfrac{x-mu_i}{max-min} xi​⟵si​x−μi​​=max−minx−μi​​

学习率 Learning Rate: α alpha α

Gradient descent: θ j : = θ j − α ∂ ∂ θ j J ( θ ) theta_j:=theta_j-alphadfrac{partial}{partialtheta_j}J(theta) θj​:=θj​−α∂θj​∂​J(θ)

自动收敛测试: J ( θ k ) − J ( θ k + 1 ) ≤ ε J(theta_k)-J(theta_{k+1})le varepsilon J(θk​)−J(θk+1​)≤ε

代价函数随迭代步数增加的变化曲线:

可判断梯度下降法是否已收敛(当曲线几乎平坦时)

可判断梯度下降法是否正常工作(保证曲线单调下降)。若曲线上升,说明需用更小的学习率

总结: α alpha α 太小,导致收敛过慢。 α alpha α 太大,可能导致代价函数 J ( θ ) J(theta) J(θ) 不下降或不收敛。

α alpha α 选择方法:三倍一取,即 α = 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 alpha=0.001,0.003,0.01,0.03,0.1,0.3 α=0.001,0.003,0.01,0.03,0.1,0.3

4.3 特征和多项式回归

选择特征 Choose Features:当预测房价时,已知临街宽度 frontage 与纵深宽度 depth 得到回归方程
h θ ( x ) = θ 0 + θ 1 × frontage + θ 2 × depth h_theta(x)=theta_0+theta_1times text{frontage} +theta_2times text{depth} hθ​(x)=θ0​+θ1​×frontage+θ2​×depth但是更好的回归方程应该为
area = frontage × depth h θ ( x ) = θ 0 + θ 1 × area color{red}text{area}=text{frontage}timestext{depth}\ h_theta(x)=theta_0+theta_1times text{area} area=frontage×depthhθ​(x)=θ0​+θ1​×area即 area 为新的更合适的特征(变量)。

多项式回归 Polynomial Regression:利用线性回归拟合复杂函数(例:非线性函数)

选择特征为初始特征的函数,代入回归方程中应用特征缩放:使不同函数的特征值可比较
4.4 正规方程

正规方程:一种求线性回归的代价函数 J ( θ ) J(theta) J(θ) 取最小值时的 θ theta θ 的解析解法,无需运行迭代方程

微积分求(偏)导,使(偏)导数为零,解方程。

缺点:计算量太大

正规方程法 Normal equation

例题:样本数量 m = 4 m=4 m=4 的数据集

方法:加入 x 0 x_0 x0​,使其均置为 1 1 1。建立设计矩阵 Design Matrix X m × ( n + 1 ) X_{mtimes(n+1)} Xm×(n+1)​ 和 y m y_m ym​,则
θ = ( X T x ) − 1 X T y theta=(X^Tx)^{-1}X^Ty θ=(XTx)−1XTy为函数取最小值时的解 θ theta θ

Matlab 代码:

pinv(X' * X) * X' * y # Octave

优点:

不需要根据迭代次数最少尝试不同的学习率 α alpha α不需要迭代

缺点:由于 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1 是 n × n ntimes n n×n 矩阵,计算逆矩阵复杂度为 O ( n 3 ) O(n^3) O(n3),若 n n n 很大时,计算将会很慢。一般 n < 10000 n<10000 n<10000 时可以用正规方程法。

正规方程的不可逆性:当 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1 为奇异 Singular 或退化矩阵 Degenerate Matrices 时

Octave 内使用 pinv() 函数(即伪逆函数 pseudo-inverse),可无视是否可逆

主要原因: 存在冗余变量 Redundant Features:即线性相关
方法:删除相关变量变量太多(数据太少):即 m ≤ n mle n m≤n
方法:删除变量或使用正则化 Regularization
即线性相关
方法:删除相关变量变量太多(数据太少):即 m ≤ n mle n m≤n
方法:删除变量或使用正则化 Regularization

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。