前言
上次只是笼统的概述了机器学习是什么以及能解决什么问题,这一篇就开始正式探讨机器学习使用的算法了。
背景
假如我们有一组数据,它是关于房子的大小和最终成交价格的数据。我们最后要做到的就是通过让机器对这些数据的‘学习’,最后能对新的房子也能正确预测出它大概的成交价格。
如何进行预测
现在假设x,y变量,x表示房子的面积,y表示房子的成交价格。那么每个房子的(x,y)就对应坐标轴上的一个点。例如房子面积是100,价格1000000。那么这个点就是(100,1000000)。把这些点都画在坐标轴上就会得到如下的样子
对于这么大堆密密麻麻的点,下一步该做什么呢,既然有x又有y,能不能找出x和y之间的关联,换句话说就是找到个函数能尽可能多的拟合这些点,让这些点尽可能多的落在我们的线上。这就是线性回归(概率论大佬正在赶来QAQ)。
所以拟合后的样子应该是这样的
可以看到这条线已经让尽可能多的点落在了它身上。说到这里,如何进行预测是不是就变得显而易见了。只要找到这样一条直线,尽可能多的拟合了自己的数据,那么对于新来的x值,它在图上的坐标就确定了,也就是y(房价)确定了(换句话说也就是找到y关于x的函数啦,就像y=10+x这样)。那么我们的这个模型就可以比较正确预测房价了。想想还有点小激动呢~
对于这个模型需要注意什么
由上面的图其实不难看出来,还是有部分的点偏离在我们的线外面的。但是我们毕竟不可能找到符合所有点的函数,只能少数服从多数,对于偏离的点,我们不需要在意他们(还可以用一些曲线来拟合,不过这里只用线性的)。基于这个原因,模型成熟后,对于新房价的预测只是大概的,可以理解为它只是代表了一个趋势,房子面积越大,它的价格就越高。只不过我们基于这个趋势,可以给出大约的预测值。
结尾
对于这些枯燥的东西,并不想一口气写一堆,看到就让人难受。所以这篇文章还并不算真正开始学习了它的算法。下面就会开始真正进入算法的细节,当模型处于初始状态怎样判断它与我们的最终模型有多大差距呢,以及如何缩小这些差距,这都是需要解决的问题。当这两个问题解决了,那么我们的模型就会逐渐变得成熟,预测房价,登上人生巅峰指日可待~
这些都是基于我最近自己学习整理的,希望加强自己的理解,也方便以后查看。希望大佬目睹过后给予指正。