线性回归
单元线性回归
h(x)=ωx+b
h(x)=θ0x0+θ1x
(x0=1)
多元线性回归
h(x)=ωTx+b
h(x)=θ0x0+θ1x+⋯+θnxn=∑ni=0θixi=hθ(x)
(x0=1)
广义线性模型
y=g−1(ωT+b)
g(*):联系函数
对数线性回归
ln(y)=ωTx+b
梯度下降法
梯度下降算法的实用技巧
- feature scaling
特征变量归一化,降低迭代次数 - learning rate
J(θ)=12∑mi=1(hθ(x(i)−y(i))2
梯度下降更新: θj=θj−α∂∂tJ(θ)=θj−α1m(hθ(x)−y)xj
批梯度下降算法: θj=θj−α∂∂tJ(θ)=θj−α1m∑mi=0(hθ(x(i))−y(i))x(i)j
判断梯度下降算法是否正常运行:
1.根据
minJ(θ)
的图像判断是否已经收敛
2.若
minJ(θ)
单调递增或者不单调,则learning rate α太大
3.若
minJ(θ)
的图像下降缓慢,则learning rate α太大或太小
标准方程法
θ∈Rn+1 J(θ0,θ1,⋯,θm)=12m∑mi=1(hθ(x(i))−y(i))2
J(θ)=12m∑mi=1(hθ(x(i)−y(i))2=12m(Xθ−y→)T(Xθ−y→)
∂∂θjJ(θ)=⋯=o
(for every j)
XTXθ−XTy→=0
θ=(XTX)−1XTy∈R(n+1)
n是特征变量的个数 m是训练集大小
xi=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢x(i)0x(i)1x(i)2⋯x(i)n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥∈R(n+1)
X=⎡⎣⎢⎢⎢⎢⎢(x1)T(x2)T⋯(xm)T⎤⎦⎥⎥⎥⎥⎥∈R(m∗(n+1))
y=⎡⎣⎢⎢⎢⎢y(1)y(2)⋯y(m)⎤⎦⎥⎥⎥⎥∈R(m)
标准方程法和梯度下降法
梯度方程法 | 标准下降法 |
---|---|
需要选择α | 不需要选择α |
需要多次迭代 | 不需要迭代 |
当(n>>10000 )很大时,有效 | 当(n>>10000) 很大时,速度慢 |
O(kn2) | O(n3) |
标准方程的不可逆性
XTX 是不可逆:
- redundant features/linely dependant
-delete redundant features(two features are linely dependant,one of them are redundant) - too many features(eg:m
多项式回归
h(x)=θ0size0+θ1size+⋯+θnsizen=∑ni=0θisizei=hθ(size) (size0=1)
向量化
确保参数同步变化
批梯度下降算法:
θj=θj−α∑mi=0(hθ(x(i))−y(i))x(i)j
向量化:
θ=θ−αδ
θ∈Rn+1
α∈R
δ∈Rn+1
δ=1m∑mi=1(hθ(x(i))−y(i))x(i),j=0,1,⋯,n+1
x=⎡⎣⎢⎢⎢⎢⎢x(i)0x(i)1⋯x(i)n+1⎤⎦⎥⎥⎥⎥⎥∈R(n+1)
δ=⎡⎣⎢⎢⎢δ0δ1⋯δn+1⎤⎦⎥⎥⎥∈R(n+1)
δj=1m∑mi=1(hθ(x(i))−y(i))x(i)j,j=0,1,⋯,n+1