1 过拟合

机器学习task1——线性回归

参考链接:

机器学习中用来防止过拟合的方法有哪些

Normalization方法:BN,LN 等

L1 与 L2 正则化的区别

2 线性回归优化方法

优化方法:

  • 梯度下降法

  • 最小二乘法(公式法)
    机器学习task1——线性回归

  • 牛顿法

  • 拟牛顿法

2.1 牛顿法

牛顿法推导:

f(x)f(x)用泰勒公式展开到二阶,

f(xt+1)=f(xt)+f(xt)(xt+1xt)+12f(xt)(xt+1xt)2f(x_{t+1}) = f(x_t) + f'(x_t)(x_{t+1} - x_t)+\frac{1}{2}f''(x_t)(x_{t+1} - x_t)^2

对上式求导,并令导数等于0,求得x值

f(xt+1)=f(xt)+f(xt)xt+1f(xt)xt=0f'(x_{t+1}) = f'(x_t) + f''(x_t)x_{t+1} -f''(x_t)x_t = 0

可以求得,迭代公式为:

xt+1=xtf(xt)f(xt)x_{t+1} = x_t - \frac{f'(x_t)}{f''(x_t)}

推广到向量的情况,牛顿法公式为:
θ:=θl(θ)l(θ) \theta :=\theta-\frac{l'(\theta)}{l''(\theta)}

θθ:=θH1Δθl(θ) 当\theta是向量值的时候,\theta :=\theta - H^{-1}\Delta_{\theta}l(\theta)

其中,Δθl(θ)\Delta_{\theta}l(\theta)l(θ)l(\theta)θi\theta_i的偏导数,HHJ(θ)J(\theta)的海森矩阵,
Hij=2l(θ)θiθjH_{ij} = \frac{\partial ^2l(\theta)}{\partial\theta_i\partial\theta_j}

  • 网上一个牛顿法求解的例子:

机器学习task1——线性回归

牛顿法优缺点:

  • 收敛速度快,比梯度下降法迭代次数少很多
  • 每次迭代都需要计算海森矩阵,计算较复杂,耗费计算成本

2.2 拟牛顿法

拟牛顿法的思路是用一个矩阵替代计算复杂的海森矩阵H,因此要找到符合H性质的矩阵。

要求得海森矩阵符合的条件,同样对泰勒公式求导f(x)=f(x0)+f(x0)xf(x0)x0f'(x) = f'(x_0) + f''(x_0)x -f''(x_0)x_0

x=x1x = x_1,即迭代后的值,代入可得:

f(x1)=f(x0)+f(x0)x1f(x0)x0f'(x_1) = f'(x_0) + f''(x_0)x_1 - f''(x_0)x_0

更一般的,

f(xk+1)=f(xk)+f(xk)xk+1f(xk)xkf'(x_{k+1}) = f'(x_k) + f''(x_k)x_{k+1} - f''(x_k)x_k

f(xk+1)f(xk)=f(xk)(xk+1xk)=H(xk+1xk)f'(x_{k+1}) - f'(x_k) = f''(x_k)(x_{k+1}- x_k)= H(x_{k+1}- x_k)

xkx_k为第k个迭代值

即找到矩阵G,使得它符合上式。
常用的拟牛顿法的算法包括DFP,BFGS等。

参考链接
拟牛顿法常用的算法DFP,BFGS等

相关文章:

  • 2021-06-14
  • 2021-09-15
  • 2021-08-07
  • 2022-01-15
猜你喜欢
  • 2022-02-01
  • 2021-04-25
  • 2022-01-03
  • 2022-01-19
  • 2021-07-19
  • 2021-10-23
相关资源
相似解决方案