一、引言
机器学习中的一个大类的问题就是分类问题。分类在我们的生活中也是很常见的,比如说,你刚进入大学,要分清哪些同学喜欢玩游戏,哪些喜欢学习,这样,你想玩游戏的时候可以找爱玩游戏的同学一起,你学习遇到难题可以找喜欢学习的同学请教。当然,你的好友可以同时做到以上两点那是最好不过的了。
还要提一下分类和回归的区别,当我们要解决的问题是预测的离散值的时候,也就是上面提到的例子,分清哪些人喜欢玩游戏,哪些人喜欢学习,这就是一个分类问题。当要预测的值是一个连续值的话,那这就是一个回归问题。比如,我们可能在刚上大学的时候,不了解同学们平时喜欢打游戏或者喜欢学习,但是我们知道他们一系列的其他信息:A同学周一到周五喜欢去图书馆、自修室,但是周末就和寝室的同学打游戏,甚至玩通宵,当然还有其他信息。那么,我们的问题是A同学喜欢学习的可能性有多大,这个问题的答案是[0,1]上的任意一个实数(这取决于你的预测模型),你可能根据你的系统推测出A喜欢学习的概率是0.51。
二、问题的提出
我们考虑简单的单一变量的线性回归。我这里为了简便就举《机器学习基础教程》上的例子。男子100m比赛赢得金牌不同举办年份所需的时间。如图1 所示:
通过上图,我们至少可以看到年份和获胜时间存在一个关系。我们要预测2016年男子100米金牌所需的时间。
三、模型假设
yy表示所需时间, xx表示年份,则有如下假设。
我们现在知道2016年之前每届奥运会的男子100米金牌所需的时间,通过图一我们看到数据点的分布呈现一种趋势关系,假设它们分布在公式1所示的直线周围,我们的目标是找到一条直线,来拟合我们的观测数据,进而用我们找到的这条最佳的线预测2016年的男子100m金牌所需时间。那么,什么样的直线最好呢?我们如何求公式1中的 aa , bb 这两个参数呢?
假定我们的模型已经选择好了,那么衡量这个模型的一个常用方式就是用平方损失函数:
把a,ba,b带入公式1,然后令x=2016x=2016就可以求出所需时间,拟合直线的效果如图2所示:
就可以求出所需时间,拟合直线的效果如图2所示
这样,我们就可以进行预测了。当然,这里只是一个简单的事例,我们并没有考虑其他因素。最小二乘法是介绍完了。
五、总结
本文介绍了最小二乘法拟合数据的过程,最小二乘法是最优化方法中的一个,要了解更多优化方法,可以看看《最优化导论》。本文的事例只考虑了一个变量:年份,如果有多个自变量,它们在空间中也满足线性分布,能不能用最小二乘法去拟合数据呢?这个问题,我将在下一篇文章中进行介绍。