需求:
我们存在着一个输入
大量的数据的标注,得到了大量的数据
对于这计算的方法的相关的公式
这个就是一个数据的相关的模型
这个模型就是一条直线,那么我们就叫这个模型叫做线性回归
画一条直线,让这些点尽量的在这条直线上
通过我们已知的这些的点的分布,我们就可以去找出这个直线
尽可能在都在这个直线上
通过这一个点,我们可以去画出无数条的存在的直线
两点确定一条直线
当我们的点的数量比较少的时候,我们是不需要去进行机器学习的,我们可以去直接去肉眼的进行一个相关的观察
不管我们怎么去进行这个线的描述,这个线永远不可能是一定的准确的
我们把这个误差的相加就是一个总的误差
这个地方就是是存在着正负的相关的问题
这个公式就叫做MSE
MSE
M:均值
S:2,这个指数
E:error错误,y-yi
不同的去进行相关的进行改变,直到这个找到这个最小的
有解析解,无解析解
1。有解析解就是在这个表达式中的相关的数值都是可以去明确的进行计算出来的
2.无解析解就是像这个线形回归一样的,是没有办法直接去所求值的
去做这个机器学习是不一定去使用这个python的,但是python中有很多好用的库函数
多输入多输出
测试集和训练集
在训练集上训练模型,在真实的测试集上去跑这个模型
在训练集上我们进行相关的训练,测试集是以一种新的方式去使用
这个数值越小,说明这两个的数值越接近,这样的话,存在的误差也就越小
和其他的课不相同的是
在之前的话我们就是先去学框架再去内在
这个人工智能,我们主要是就是在学习内在再去使用框架
MSE的方程
我们更加的关注这个测试集上的表现
就是在我们的日常的使用的时候所使用的
训练集上的误差和测试集的误差有什么关系呢?
测试集上的误差是一定的大于这个训练集上的
data全量的数据集
我们的训练集就在这之中导出一部分
训练集和测试集都是在其中拿去一个部分
测试集是在中间导出的一个部分
测试集是要随机取的,这些都是具有可能的
训练集不一定小于测试集
在真实的环境中,测试集的mse一般是要大于这个训练集中的
真实的值是非常的大的
然而这个测试集是其中的一部分
然而那个训练集更是其中的一点点,所以我们很难去取到这个好的数据
测试集的效果好一点
1.训练集变大
2.数据在训练集中要去进行的所取得真实一点,尽量属于真实的环境
eg:在pdd上训练出来的这个相关的模型,我们把它训练出来的时候
我们是不可以直接去这个这个tb,jd上直接去使用的
推广能力(泛化能力):能在测试集上表现的很好
测试集的mes和训练集的mse谁大谁小
1.测试集的有可能比训练集高,也有可能比训练集低
2.但是,这个很难采样到测试集低的数据,所以工程上都是测试集的mse大
3.解决的办法,增大训练集,增加训练集的多样性
全量的数据:是我们在真实世界中是无法进行全部的得到的
拿到这训练集的测试之外的这个点的时候,我们的mse就会比较大
我们的模型主要就是这个针对这个训练集的中去实现测试的
当我们的训练集所采取的数据越大,范围越广的时候,这时候我们的采样就更加的科学
为什么我们不去使用这个绝对值而是去使用这个平方
收益越来越小的。平方
不变的收益。绝对值
我们存在着无数的数据点,有些很难去预测,有些容易去预测
把容易预测的mse降低到一定程度的时候后,再去在这个容易的点上去进行相关的优化的时候,收益就变小了呢,那么注意力就会转移到比较复杂难的相关的点上
这个的思路的理解就像我们的大脑一样,在我们把一些容易的事情在一定程度上进行感知和理解之后,我们就会更加的注重的这个我们值得去处理的更加复杂的事情上去了
所以我们的机器就会放弃这个比较容易的点上,而去实现这个更加复杂的事情
如果我们去使用这个绝对值的误差的时候,我们这个收益上是永远不变的,这样的话我们的这个机器就无法去判断到底是复杂的事情还是容易的事情,这样的话,我们的收益就变的更加小了,我们也不能去判断哪些事情是更加的重要的了
有些的东西在我们的感觉中,我们是知道的,有些的东西是容易的预测的,但是有些的东西是不容易去理解的预测的
绝对值的mse因为收益的没有差距,所以我们有些重要的东西是关注不到的
这里的收益,就是我们学习的时候,要把那条线条进行一个拉直,这样的话我们就会发现,在和mse相靠近的这个点是我们去关注的,当这个点或者这个区域里我们真的是太远的时候,我们就没有必要去关注这个数值了,是不存在价值的