机器学习入门~复习正规方程

正规方程与梯度下降的区别

  • 梯度下降给出的是一种不断迭代的方法,通过计算机进行反复的运算,找到最优的θ向量使代价函数J(θ)收敛,此时得到最优的假设函数参数θ。
  • 正规方程则是给出了一种数学方法,通过数学的推导得到了正规方程,必须经过反复迭代,只需一步计算即可解出最优的θ。

如何使用正规方程

以一个n = 3,m = 4,即有四个特征量和四个训练样本的数据为例。
在这里插入图片描述
x对应的是特征量,由于其n = 3,m = 4,将每一个特征量x存储在矩阵中,得到的当然是4*4( (n+1)*m 阶的矩阵,n还需要+1因为包含x0,而x0默认为1 )的矩阵X。而y为训练样本中特征量对应的真实值,将每一个y存储成为一个列向量,得到了四维列向量。
得到矩阵X和列向量y后,即可进行正规方程运算。其运算公式为:
θ = (XTX)-1XTy。T为矩阵的转置,-1为求逆,在Octave中使用inv()或pinv()实现。
在这里插入图片描述

梯度下降与正规方程的对比

梯度下降法的缺点:

  • 梯度下降法需要选择学习率α。
  • 梯度下降需要多次迭代。
    梯度下降法的优点:
  • 当n( 特征量 xi 的个数 )很大时,也能运行的很好。
    正规方程的缺点:
  • n很大时,运行的速度很慢(对于大多数算法,求解矩阵的逆时的时间复杂度时O(n3))。因此,当n很大时,倾向于使用梯度下降法 ( n = 10000时,可以开始考虑使用梯度下降法 ) 。
  • 正规方程并不适用于更复杂的算法,此时仍需使用梯度下降法。

Python实现

 def normalEqn(X, y):
   theta = np.linalg.pinv(X.T@X)@X.T@y 
   return theta
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值