前言:
本想几天更新一篇博客的,没想到研一课程那么多。。。这本书是已经看完了。但博客只能晚上下课回来抽时间写写,而且博客的文字都是自己一个个敲上去的,图片也是现做的,就更新比较慢了,而且因为断断续续慢慢写的,可能有一些内容为了表达很清晰,写的略微絮絮叨叨,大家见谅。可能要一个多月才能把整本书的学习笔记都整理好了,慢慢来。
----------------------------------------------------------分割线--------------------------------------------------------------
在机器学习丰富的模型中,线性模型是最简单,最常见的机器学习模型。
本章要点:
- 回归问题
- 线性方程
- 偏差度量
- 权值更新
三、线性回归算法
3. 1 线性回归:解决回归问题的正确方法
对于初学机器学习,将线性回归当作机器学习算法的入门任务是不错的。
首先从“线性回归”四个字入手,可以拆为“线性”和“回归”两词,可以认为这代表两个知识领域:
- “线性”是一类模型,叫“线性模型”;
- “回归”是一类问题,叫“回归”问题。
这样的话,就可以理解为:用线性模型来解决回归问题。
3. 1. 1 回归问题用于预测未来 & 怎样预测未来
回归问题,简单来说各个数据点都沿着一条主轴来回波动的问题都算回归问题。比如:根据历史记录预测明天的温度等。注意“历史”和“预测”两个词,因为记录历史值和预测未来值是回归问题的两个代表性特征。
回归问题和分类问题最大的区别在于预测结果:根据预测值类型的不同,预测结果可以分为两种,一种是连续的,一种是离散的。结果是连续的就是预测问题,也就是回归问题;另一种结果是离散的,是分类问题,后面会讲到。
离散型数据的最大特征,是缺乏中间过渡值,会出现“跃迁”现象。
图3-1 连续型数据&离散型数据
为什么线性模型能进行预测未来数值呢?预测未来值难就难在待预测对象与什么相关是未知的。不过,好在其中的关联关系就藏在历史数据中。机器学习算法并不发明关系,而是关联关系的搬运工。所作的工作,从数学角度看,就是拟合,对输入数据点的拟合。
机器学习实现预测的流程:
举个例子,我们需要预测明天下雨的概率,列出情况如下:
编号 | 风向 | ... | 下雨概率 |
1001 | 西北风 | ... | 50% |
1002 | 东南风 | ... | 30% |
1003 | 西风 | ... | 80% |
上面列出造成下雨概率的因素,如果人工完成预测任务,最重要工作就是找出哪些因素是密切相关的,放在前面考虑;哪些没有关联的,统统删除。我们最终目的,是“下雨概率”这一列数据,所以需要找到各个维度和下雨概率之间的概率。
最关键的一步,刚刚提到是:找出各个维度和下雨之间的概率。在机器学习中,这一步由模型自行完成,我们只需将数据输入回归模型,模型会通过统计方法去寻找关联关系,相关术语叫做:训练模型。从数学的角度,这个过程就是通过调节模型参数从而拟合数据。如何调节参数来拟合数据是每一款机器学习模型都需要思考的非常重要的问题,后续再谈这个。
模型训练完毕后,再把当前要预测的下雨情况按数据维度填好,回归模型就能告诉我们当前下雨概率的预测结果了。流程如下图所示。
图3-2 回归模型训练示意图
3. 1. 2 线性方程的”直男“本性
线性模型内部有个非常重要的东西:线性方程。第一章介绍机器学习的基本原理时,提到“假设函数”这个术语,假设函数是一类函数,所起的作用就是预测,这里的线性方程就是线性回归模型的假设函数。
直线方程通过写作:,k称为斜率,b称为截距,这两个参数分别控制直线方程进行“旋转”和“平移”动作,如下图所示。