机器学习——影响线性回归和逻辑回归拟合结果的一些问题及解决办法

在先前的两篇帖子中讨论了基本的线性回归和逻辑回归的问题,这些模型还比较理想,实际情况下样本数据的分布可能并没有这么完美,这个时候就会产生一系列的问题。

1 非线性回归

很多时候我们碰到的回归问题并不是线性的,而是非线性的。换句话说,我们的样本数据分布不是一条完美的直线,而是一条曲线。以之前线性回归的例子,如下图所示,样本数据的分布更符合一条曲线的形状。那么如何去拟合得到这样的曲线呢?

在处理非线性回归的问题上,我们一般有两种方法,第一种是想办法转换成线性的关系,第二种是用多项式模型逼近。

①转换成线性关系

这种方法适合于函数模型简单的非线性关系,在拟合前,我们可以先观察下样本的分布情况,判别其曲线的模型。比如说我观察得出样本的分布似乎符合h_{\Theta }(x) = Ae^{\Theta^{T} x}曲线关系,此时如果我们在左右两边同时取对数,就可以得到lnh_{\Theta }(x)=lnA+\Theta ^{T}x,令h_{\Theta }(x)=lnh_{\Theta }(x),得到h_{\Theta }(x)=lnA+\Theta ^{T}x,如此一来我们就可以把非线性问题转换成线性问题。

②多项式模型

多项式模型在非线性回归分析中占有重要的地位。根据级数展开的原理,任何曲线、曲面、超平面的问题,在一定的范围内都能够用多项式任意逼近,有点像高数里的泰勒展开式。

其一般形式为:h_{\Theta } (x)=\Theta _{0}+\Theta_{1}x+\Theta _{2}x^{2}+...+\Theta _{n}x^{n},然后用最小二乘法和梯度下降法即可确定系数。

2 特征缩放

假设你现在有一个二特征的回归问题,还是以房子为例。其中一个特征是房屋的总面积大小,其范围在0~2000平米,另外一个特征是厕所的面积,其范围在0~20平米。这时你最后得到的代价函数可能是这样子的:

一个方向上极其的长,另一个方向上极其的短,这时如果使用梯度下降法,因为学习速率\alpha是固定的,如果设的比较小,在使用梯度下降法的求解最优点就会变得非常慢。所以我们必须对特征变量进行归一化,将特征变量缩小到0~1范围。在这个例子中我们只需要把房屋总面积除以2000,厕所面积除以20就可以了。另外,亲测在实际进行梯度下降法的迭代过程中,如果没有进行归一化,很可能会造成数据溢出,导致算法奔溃。

3 学习速率的选择

学习速率\alpha过大或者过小都会产生一些问题,如果过小,在使用梯度下降法时就会很慢。而学习速率如果很大将会导致发散。如下图所示:

在运用梯度下降法时,我们是根据\Theta _{j}:=\Theta _{j}-\alpha \frac{\partial }{\partial \Theta }_{j}J(\Theta )在程序中进行迭代求得最优的特征系数,如果\alpha过大,\Theta将会沿着图中红色的路径变化,变成\Theta ^{'}\Theta ^{''}\Theta ^{'''}\Theta ^{''''}\Theta ^{'''''}……,无法收敛到局部最小值,反而会一直发散下去。为了更加容易理解,我们试想一下自己拥有和奥特曼一样长的大长腿,站在一座山上。为了到达山谷我们沿着坡度往下走,可是这个时候由于我们的腿太长,步长太大,直接跨到了对面的一座山上,于是又往下走,又跨到了原来的山上,但是比原先的位置更高一点……如此循环我们只会越爬越高,永远都到不了山谷。

4 正则化

下图展示了用多项式拟合曲线的结果。第一幅图显然差强人意,通常把这样的结果称作欠拟合。第三幅图拟合结果似乎还行,但是曲线变化剧烈,如果在样本数据中又有一个很明显的噪声,拟合所得的曲线又会是另外一番样子,这时所得的模型就没有很好的泛化能力,通常把这样的结果称作过拟合(overfitting)。而我们期望得到的模型是第二幅图所示的样子。

再来看逻辑回归的例子,图一中是欠拟合的结果,决策边界并没有很好的将样本数据分类。图三是过拟合的结果,这决策边界太完美了,但是中间被曲线包裹的x状点很可能是噪声,用这样的模型去分类,很可能会造成更多的误差。而我们期望得到的是图二的模型。

在机器学习中,欠拟合可以通过增加样本数据等一系列方法解决。但是过拟合就比较麻烦了,于是我们引入了正则化项\lambda \sum_{i=1}^{n}\Theta ^{2}_{j}

正则化项通常是加在代价函数后面的,这样新的代价函数就为J(\Theta)=\frac{1}{2m}\sum_{i=1}^{m} (h_{\Theta }(X^{(i)})-Y^{(i)})^{2}+\lambda \sum_{i=1}^{n}\Theta ^{2}_{j}。那么怎样理解正则化项对于防止过拟合的作用呢?

以多项式拟合为例,过拟合往往是高幂次项作用的结果,假设正则化项中\lambda如果很大,在\Theta _{j}也很大的情况下,高幂次项的作用就会被放大,代价函数值就会很大。我们要让代价函数最小,\Theta _{j}​​​​​只能趋向于0。

试想一下上图中过拟合的结果,在引入正则化项后,计算代价函数最小值时,如果得到的\Theta _{3}\Theta _{4}都趋向于0那么得到的不就和我们想要的模型差不多了嘛。

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值