前几天我把自己最喜欢的电影《谍影重重》又看了一遍,这部电影实在是太精彩了,被称为“最好看的谍战片”,它的5部系列在豆瓣上平方都是8分以上。
每当我在豆瓣上打开这部电影,豆瓣都会推荐我可能喜欢的其他电影。这些推荐的电影还真符合我的电影口味,比如推荐的电影《生死时速》、《碟中谍》、《变脸》、《飓风营救》也是我喜欢看的。
那么豆瓣是如何知道用户的喜欢,这些推荐背后的秘密是什么呢?
像豆瓣、淘宝、QQ音乐这些推荐系统,背后的秘密武器正是机器学习。下面我们用最通俗易懂的话来聊聊,到底什么是机器学习?
1、人类是如何思考的?
机器学习有点像人类的决策过程,我们先看下人类的思考过程。
假设我们去买橘子,卖橘子的大娘说橘子甜过初恋。可是我们想挑最甜的橘子,怎么挑呢?
记得妈妈说过,嫩黄的橘子比暗黄的甜。所以我们有了一个简单的判断标准:只挑嫩黄的橘子。
2、普通计算机算法
普通计算机算法是如何实现这个过程的呢?如果用计算机程序来帮你挑选橘子,你会写下这样的规则:
if(颜色是嫩黄):
橘子是甜的
else:
橘子不甜
我们会用这些规则来挑选橘子。但是如果在我们的橘子实验中有了新的发现,我们就不得不手动修改这份规则列表。
比如在我们买回的橘子中有些是酸的,经过品尝各种不同类型的橘子,我们发现那些大个人儿的,嫩黄的橘子才是甜的。所以我们修改了规则:
if(颜色是嫩黄and 尺寸是大的):
橘子是甜的
else:
橘子不甜
我们会发现这个普通的计算机算法有个缺点,那就是:我们得搞清楚影响橘子甜度的所有因素的错综复杂的细节。如果问题越来越复杂,我们就要针对所有的橘子类型,手动地制定挑选规则就变得非常困难。
那如何解决克服这个缺点呢?机器学习算法可以解决这个问题。
3、机器学习算法是什么?
机器学习算法是由前面的普通算法演化而的来。通过自动地从提供的数据中学习,它会让我们的程序变得更“聪明”。
我们从市场上的橘子里随机的抽取一定的样品(在机器学习里叫做训练数据),制作成下面的一张表格,上面记着每个橘子的物理属性,比如颜色,大小, 产地 等。(这些橘子的属性称之为特征)。还记录下这个橘子甜不甜(这叫做标签)。
我们将这个训练数据提供给一个机器学习算法,然后它就会学习出一个关于橘子的特征和它是否甜之间关系的模型。
下次我们再去市场买橘子,面对新的橘子(测试数据),然后将新的橘子输入这个训练好的模型,模型会直接输出这个橘子是甜的,还是不甜的。
有了这个模型,我们现在可以满怀自信的去买橘子了,根本不用考虑那些挑选橘子的细节。只需要将橘子的物理属性输入这个模型就直接可以知道橘子是不是甜。
更重要的是,我们可以让这个模型随着时间越变越好(增强学习),当这个模型读进更多的训练数据,它就会更加准确,并且在做了错误的预测之后进行自我修正。
这还不是最棒的地方,最棒的地方在于,我们可以用同样的机器学习算法去训练不同的模型,比如我们可以使用同样的机器算法来预测苹果, 西瓜的模型。这是常规计算机程序办不到的。
这,就是专属于我们的机器学习,有没有很酷。
4、总结
机器学习是用机器学习算法来建立模型,当有新的数据过来时,可以通过模型来进行预测。
网友评论