机器学习的算法——线性回归

发布时间 2023-12-09 18:49:08作者: cyznb

1.回归问题的定位

我们知道机器学习分为有监督学习和无监督学习,无监督学习主要是聚类方面的算法,而有监督问题主要分为回归和分类两类

  • 而这线性回归就属于有监督学习,且属于其中的回归类问题,另外有一种逻辑回归,他却是属于分类问题的一部分。

2.线性回归

(1)大体思路

  • 首先它是利用数理统计中的回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。(其实就是用直线拟合一系列的点,线性,所以是直线拟合)
  • 其次它的模型是h(x)=W(T)*x+b;其中W(T)是w这个向量转置(权重参数),b是偏置,就是一个常数,x是样本,通过这个式子把样本的预测值求出来进行拟合,这就是过程
  • 然而,每一次拟合都是有着一个函数作为拟合曲线,这个拟合曲线的好坏,将决定你的模型好不好,模型训练的过程就是完善曲线,修改(b,w)的过程,可以用梯度下降算法求损失函数最小时的w

(2)防止过拟合

如果对训练集训练的过于充分来一个新数据可能会发生过拟合,如下图

当拟合的十分精确的时候,其实就不是线性了,会有多项式,比如说

  • y = ax³+bx²+cx+d,此时就有三个参数,来一个噪声点(与训练集差距很大的点),就会使得曲线突然上升或下降,如下:

3.投影平面法

还有就是如果多个点显然不能用一个一次曲线,或者是只有一元高次的曲线来描述,方法:

  • 进行曲线的空间化,投影到空间中,各个点在不同面上,曲线的空间化,用一个线性平面分隔开,这就是妙处,如下:

4.正则化

防止过拟合还有两种方法:L1正则和L2正则

  • L1:J(w)=0.5*Σ(h(x)-y)²+λ∑|w|,就是在J(w)加上了λ∑|w|,也叫Lasso回归;
  • L2:J(w)=0.5*Σ(h(x)-y)²+λ∑w²,就是在J(w)损失函数后面加上λ∑w²,也叫Ridge回归;

其实就是损失函数限制,缩小它的范围,减小误差。

5.最后,总结

-首先, 线性回归就属于有监督学习,且属于其中的回归类问题;

-其次,它是是利用数理统计中的回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,两种就是平面,三种就是立体,三种以上超平面;

-然后,h(x)=W(T)*x+b是二元模型,最基本的模型,一元不属于回归问题;

-过拟合就是训练集训练过度,产生多次多项式,噪声点影响大;

-如果多个点显然不能用一个一次曲线,或者是只有一元高次的曲线来描述,可以曲线的空间化,投影到空间中用一个线性平面分隔开;

-L1和L2正则化:在损失函数J(w)=0.5*Σ(h(x)-y)²后加上不同的项,来约束限制损失函数范围,减小误差。