您的位置:首页 > 其它

机器学习到底学到了什么

2017-03-30 17:18 218 查看
在上一篇文章中,我介绍了一个关于在应用中结合机器学习的小案例,并阐明了一个观点:可以利用机器学习模拟人类的思维方式去处理问题。很多读者反馈只是看到了几个专业名词,却依然不知道机器学习在学什么,今天我就根据个人的理解带着大家一起来看看机器学习是什么,而机器又是怎样学习的。

我从小就对神奇的事物感兴趣,有一次看到一位魔术师准确地猜出了路人心中的数字时,便着迷了很长一段时间。在我学习魔术不久之后,便发现很大一部分预测类魔术都会利用到大众心理学以及统计学的相关知识,而往往这类魔术的表演成功率也并非百分之百。



我们来看一个简化版的读心术,有兴趣的读者可以跟着选一下:“现在请你从1到4中选一个数字出来,然后我来猜,选好了么?我猜你选的应该是3!”很多人也许会大吃一惊,觉得我很懂你的心,其实真相并非如此。有心理学家专门做过这个实验:随机挑选出一部分人,让他们参与测验,发现针对这一问题选3的人最多,如果我猜你选3,猜对的概率最大,这便是上面这个读心术的诀窍(其实这个魔术也同时利用了人的心理,在问题中提及1和4就会大大降低选择这两个数字的概率)。

机器学习的原理也是如此,我们通常会利用已有的测试答案总结出规律,然后通过这个规律再去预测一个陌生人的答案,这里的测试答案便是我们的“样本”,而总结规律的过程就是“训练模型”,总结出的规律我们当做“训练好的模型”继续预测更多人的答案。



通过以上描述我们可以看出,机器学习和我们传统的计算机工作流程有很大区别。过去,我们输入指令,让计算机按照我们的指令执行出结果,更强调因果,越是资深的编程人员,对这一点越是深信不疑,时刻会强调逻辑关系。而机器学习是利用数据得到结果,从数据中“学”到规律,而不是依靠指令,于是机器学习更多考虑的是相关性,而非因果。其实这和我们的生活智慧很相似,生活中处理很多事情上没有绝对的对错,只有相对的合理与否,如果我们可以理解透彻这一点,不管是处理机器学习还是生活中的问题时,都会有很大帮助。

我们的祖先早已对机器学习的原理有所领悟,唐太宗李世民曾说:“以史为镜,可以知兴替”,掌握了历史兴替的规律,便可以指导未来的发展方向,避免重蹈覆辙。再推前至上古时代,伏羲倚仗天地变化之术,创建了先天八卦,这不正是最强大的模型么,它归纳了万物规律,通过八卦模型便可预测未知结果,让人不得不惊叹它的神奇(有机会我们可以专门探讨一下关于易经与计算机科学千丝万缕的联系,非常有趣)。



这时,有的同学可能会发现模型被提到了很多次,但大多是抽象的描述,那么究竟什么是模型?回答这个问题前我们不妨先来看一道小学数学题:“一艘船离开码头1公里后开始匀速前行,1小时后船离码头10公里,请问2小时后船离码头几公里?”将这个问题转化机器学习的描述就变成:我们希望通过两个样本(0,1)和(1,10)训练出一个模型,然后输入2,预测出离码头的距离。通过题目中的业务场景,我们可以分析出样本是程线性关系的,于是我们可以考虑选用一个简单的线性模型“Y=aX+b”来表示这种情况。接下来我们将样本(0,1)和(1,10)代入模型训练,求得参数a=9,b=1,于是训练好的模型为Y=9X+1(如果还有额外的样本点,我们可以代入检查一下这个模型的准确性),此时我们将想要预测的X=2代入求得Y=19,这样我们便成功预测出2小时后船离码头19公里,今后不管是希望获得几小时的距离,我们都可以通过这个训练好的模型进行预测了。



总结一下整个过程:我们首先会通过样本的规律寻找合适的模型,再用样本数据训练模型(训练时通常会将样本分为两部分,一部分用来训练,另一部分用来检验训练后模型的正确率,以评估模型的好坏),之后我们就可以通过训练好的模型进行新数据的预测了。

虽然真实的业务并不会这么简单,样本也不会如此规整,但我希望可以通过这样一个理想状态下的小例子让大家更直观地了解什么是“模型”、“训练”以及“预测”,我们后面将要学习的很多算法模型的大多都是同样的训练过程。

现在,相信大家对机器学习已经有了更清晰的认识,其实机器学习学到的东西就是我们所谓的经验或者规律,机器学习会把这些学到的东西固化到模型中,以便解决新的问题。

经过无数研究者的努力,我们已经拥有非常丰富的模型库,而当前多样的技术也将这些模型的训练与使用变得非常容易。即便如此,很多人还是会担心做机器学习的数学门槛会不会很高,实际上不是所有的模型都用到了很高深的数学知识,很多时候我们知道这个模型算法的大概思路以及它的应用场景就可以满足我们的需求了,而走这样的应用路线同样会有很广阔的前景和舞台(当然如果想深入研究这个领域,数学越好会让你走得越远)。

在后续的文章中我会陆续介绍一些常见的模型,我本人在学习机器学习的过程中秉着这样一个观念:我们学习这些模型并不是为了单纯去做看起来高大上的事情,而是为了利用这种新的思想解决更多的问题,让机器学习真正落地。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 预测 模型