相信大家都有过等人的经历,这并不是一件多么愉快的事情。

最近洞察君就开始不守时了,上次约他下午五点吃烤鱼,结果等到六点才来。

今天他约我晚上七点去唱K,我脑海中立马蹦出一个问题:他又会迟到吗?

于是我迅速调动我记忆,看看我们相约的次数中,他迟到占了多大的比例,而我利用这个比例来预测他这次迟到的可能性。

在我正在准备在纸上计算时,我突然想起来,这种依据数据来做出判断的办法,不就是大家都知其然不知其所以然的“机器学习”么

于是,我果断拒绝了洞察君的邀请,发誓要给大家讲清楚,到底什么是机器学习!

Mchine——Machine Learning——Better

首先请允许我甩出一个定义:

从广义上来说,机器学习是一种能够赋予机器学习的能力,以此让它完成直接编程无法完成的功能的方法。

但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型来进行预测的一种方法。

看不懂没关系,我给你讲个小故事,保准你懂得很彻底!

 

就拿国民话题“房子”来说吧。假如我现在看上了城郊的一栋大别墅,想卖掉我村里的一套100平的房子,我应该给它标上怎样的价格呢? 

相信大家心中已经有了答案。由于在不同地段的房价差距判若云泥,同地段不同户型之间的差距也十分显著,所以我只能通过调查跟我同地段、同户型的房价,来作为我定价的参考。

如果我能从获得的数据中找出面积与价格的规律,那么我就可以较准确地得到房子的价格。于是,我把收集到的数据在坐标图中拟合出一条直线,让它尽量“穿过”更多的点,并且与其他各点的距离尽可能的小。

  

通过这条直线,我获得了一个能够最佳反映房价与面积的规律,同样可以获得一个可以用于计算准确房价的函数。

房价=面积*a+b

假设a = 0.8,b = 60,则我的房价=100 * 0.8 + 60 = 140万,从统计学意义上来说,这是一个最合理的预测值。

在求解过程中透露出了两个信息:

第一:房价模型是根据拟合的函数类型决定的。如果是直线,那么拟合出的就是直线方程;如果是其他类型的线,例如抛物线,那么拟合出的就是抛物线方程。机器学习有众多算法,一些强力算法可以拟合出复杂的非线性模型,用来反映一些不是直线所能表达的情况。

第二:如果数据量越多,得到的模型就能考虑到越多的因素,由此对于新情况的预测效果可能就越好。这是机器学习界“数据为王”思想的一个体现。一般来说,数据越多,最后机器学习生成的模型预测的效果越好。

通过拟合直线的过程,我们可以对机器学习过程做一个完整的回顾:

首先,我们需要在计算机中存储一定的相关数据(等同于线下收集数据);接着,我们将这些数据通过机器学习算法进行处理(等同于拟合直线),这个过程在机器学习中叫做“训练”,处理的结果一般称之为“模型”(等同于得到方程),可以被我们用来对新的数据进行预测。

“训练”与“预测”是机器学习的两个过程,“模型”则是过程的中间输出结果,“训练”产生“模型”,“模型”指导 “预测”。

好吧,说了这么多,其实洞察君并没有约我

还有,我在村里也根本没有房。

但你们如果明白了什么是机器学习,也不枉我一片苦心了