机器学习——线性回归模型详解

线性的含义

线性的理解:它是一条直线,这可能让我们回到初中、高中时候定义的y=ax+b,而在线性回归模型中,它是一个特征或多个特征和结果的拟合模型(好比预测房子的价格,房子的面积、房龄、房间数等等特征,而所要预测的房子的价格就是需要的结果),最终表示为线性函数关系式。

线性函数:可以把房子对应的特征整合为一组集合 ( x 1 j , x 2 j , x 3 j , ⋅ ⋅ ⋅ , x n j ) \left ( x_{1}^{j},x_{2}^{j},x_{3}^{j},\cdot \cdot \cdot ,x_{n}^{j} \right ) (x1j,x2j,x3j,,xnj),对应的结果为 y j y^{j} yj,其中 i i i表示的是样本的个数,以 j = 1 j=1 j=1为例,可得线性函数关系式

y = a 0 + b 1 x 1 + b 2 x 2 + b 3 x 3 + ⋅ ⋅ ⋅ + b m x m y=a_{0}+ b_{1}x_{1}+b_{2}x_{2}+b_{3}x_{3}+\cdot \cdot \cdot+b_{m}x_{m} y=a0+b1x1+b2x2+b3x3++bmxm

线性回归模型:说白了就是一个函数,好比求解 f ( x ) = a x + b f(x)=ax+b f(x)=ax+b,而要求解的函数往往写成

h θ ( x ) = h 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + ⋅ ⋅ ⋅ + θ m x m h_{\theta}(x)=h_{0}+ \theta_{1}x_{1}+\theta_{2}x_{2}+\theta_{3}x_{3}+\cdot \cdot \cdot+\theta_{m}x_{m} hθ(x)=h0+θ1x1+θ2x2+θ3x3++θmxm

此外,为了方便合并,都会添加 x 0 = 1 x_{0}=1 x0=1这项,于是函数为

h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + ⋅ ⋅ ⋅ + θ m x m h_{\theta}(x)=\theta_{0}x_{0}+ \theta_{1}x_{1}+\theta_{2}x_{2}+\theta_{3}x_{3}+\cdot \cdot \cdot+\theta_{m}x_{m} hθ(x)=θ0x0+θ1x1+θ2x2+θ3x3++θmxm

然后,更简洁的公式出来了,如下

h θ ( x ) = ∑ i = 0 m θ i x i = θ T X h_{\theta}(x)=\sum_{i=0}^{m}\theta_{i}x_{i}=\theta^{T}X hθ(x)=i=0mθixi=θTX

其中, θ i \theta_{i} θi x i x_{i} xi对应的权值(系数), θ T 、 X \theta^{T}、X θTX分别表示权值向量、特征向量,而实际工业中 X X X是已知的一些样本,而所要求的是 θ T \theta^{T} θT,求出来了,那模型也就有了。

线性回归模型求解

为了求解 θ T \theta^{T} θT,会先定义损失函数(或成本函数)

J ( θ ) = 1 2 m ∑ i = 0 m ( h θ ( x i ) − y i ) 2 J(\theta)=\frac1{2m}\sum_{i=0}^{m}(h_{\theta}(x^{i})-y^{i})^{2} J(θ)=2m1i=0m(hθ(xi)yi)2

然后需要尽量减小 J ( θ ) J(\theta) J(θ),常用的方法有梯度下降法(Gradient Descent),牛顿法和拟牛顿法,模拟退火法(Simulated Annealing) 等等,这里以梯度下降法为例,公式为

θ j : = θ j − α ∂ ∂ θ j J ( θ ) \theta_{j}:=\theta_{j}-\alpha\frac\partial{\partial\theta_{j}}J(\theta) θj:=θjαθjJ(θ)

其中 α \alpha α是步长,步长太大,容易错过 a r g arg arg m i n ( J ( θ ) ) min(J(\theta)) min(J(θ)),太小效率太慢,有的情况会落入局部最小值。

在合适的情况下才能取得全局最小值点

然后, J ( θ ) J(\theta) J(θ)代入可得

θ j : = θ j − α ∑ i = 0 m ( h θ ( x i ) − y i ) x j i \theta_{j}:=\theta_{j}-\alpha\sum_{i=0}^{m}(h_{\theta}(x^{i})-y^{i})x_{j}^i θj:=θjαi=0m(hθ(xi)yi)xji

得到新的 θ j \theta_{j} θj代入 J ( θ ) J(\theta) J(θ)中,反复迭代,直到两次 θ j \theta_{j} θj相等或差值小于人为设定的阈值(超参数),这时的 h θ ( x ) h_{\theta}(x) hθ(x),即为要找的模型。

结语

本文对线性回归模型做了简单的分析,但由于实际中的应用,可能会有各种各样的变种,但是有必要先了解最基本模型的原理,以及处理方式,以至于不把机器学习当黑盒使用。不可避免的文中还有很多不足之处,有待进一步完善。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值