机器学习——标准方程法及一些基础知识

标准方程法

简单介绍:
机器学习常用的减小代价函数的值的方法是梯度下降法,除此之外,还有一个常用的方法是标准方程法
让我们看看下面这个例子:
在这里插入图片描述

x0是偏置值,都为1;x1是房子面积;x2,x3,x4是房间卧室数量和房屋年龄等特征;y是房子的价格。
然后把这些数值用X矩阵表示出来,w是这几个参数的权值,y就是价格。那么该如何用函数图像表示呢?
这里用到的方法就是标准方程法。
在这里插入图片描述
首先还是用最小二乘法作为代价函数,但是参数传进去的时候有点不一样。这里的参数是矩阵,所以其中一个要变为转置矩阵,这样相乘就会得到一个具体的数值。接下来也是和梯度下降法一样,让这个值对w进行求导
在这里插入图片描述
先展开:在这里插入图片描述再化简:在这里插入图片描述
因为这是分母布局,所以求导的结果为:
在这里插入图片描述
这样就可以计算w的值:
在这里插入图片描述
而w是权值,把w求解出来,那么就可以进行图像的绘制,问题也就解决了。但是,这里有一个问题,就是w是通过乘上一个逆矩阵然后才得到一个具体的数值,所以会存在矩阵不可逆的情况,比如:
在这里插入图片描述
第一种情况知道的两个特征其实就是一个特征,即多重共线性,第二种情况就是特征数据比样本数据还多,这些情况是不能使用标准方程法的。
那么我们来比较一下梯度下降法和标准方程法:
在这里插入图片描述
可以看到,梯度下降法是当很多特征时也可以很好计算,但是不一定能得到全局最优解,大多数情况是局部最优解,适用于深度学习需要多个特征;标准方程法是直接得到全局最优解,但是特征较多时耗费时间很长,甚至计算不出,所以适用于回归问题这种特征较小的情况。
python实现标准方程法:
导入数据,看看数据的样子在这里插入图片描述
在这里插入图片描述
程序主体部分:
在这里插入图片描述
结果,我们可以看到ws有两个值,对应X_data的两列数据,多少列就有多少个值
在这里插入图片描述
在这里插入图片描述
最终结果和梯度下降法的结果是一样的。

特征缩放,交叉验证法

接下来我们说一下回归中的一些基础知识,首先是特征缩放。举个例子:
在这里插入图片描述
如果不进行数据的处理,那么可以想象会得到一个特别长又窄的图像,会很影响梯度下降法的准确性。所以要用到数据归一化来特征缩放
在这里插入图片描述
或者使用均值标准化:
在这里插入图片描述
这样就可以进行特征缩放,避免出现特征数量相差较大的情况。

交叉验证法
当我们的数据比较少的时候,我们不管怎么划分训练集和测试集,结果都不太理想,这时候就要用到交叉验证法。不管数据多少都统一分为十份,然后先取第一份数据作为测试集,剩下的数据作为训练集,然后得到一个误差,接着取第二份数据作为测试集,剩下数据作为训练集,然后得到一个误差,以此类推得到10个误差,然后再求这十个误差的平均值
在这里插入图片描述
当然不一定分为10份,也可以20份等等,也不一定要只取一份数据作为测试集,可以取多份数据作为测试集,然后剩下的作为训练集即可。本质是让所有的数据都作为训练集和测试集就可

过拟合,正则化

我们先来了解拟合的三种情况:
在这里插入图片描述
在这里插入图片描述
我们的目的是得到正确拟合的结果,为什么不是过拟合呢?看起来似乎过拟合比较好,其实不然,因为这里的过拟合是训练集的情况,到测试集的时候就不会有这种效果,而是非常差,过拟合也是机器学习中比较常见的一种情况,那么怎么解决呢,可以减少特征,或者增加数据量,或者正则化
正则化是在原来的基础上加上一点变化:
在这里插入图片描述
这里的λ 是正则参数。第一种是参数求平方再累加,第二种是绝对值累加。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值