知识库

知识库资源

当前位置:首页>知识库
全部 14 商业 3

机器学习:机器到底在学什么?

时间:2021-04-24   访问量:1046

欢迎来到我的《算法通识课》

从这一讲开始,我们进入课程的新模块。之前我们学习了不同的算法策略如何帮助我们来解决不同的实际问题,它们各自又有什么样的美妙之处。

在第四模块,我们会进入算法的前沿领域,来看看现如今最火爆、最流行的一类算法,机器学习算法是怎么回事。

1 人不会教,就让计算机自己学

我们在前面的课程里,提到了那么多不同类型的问题,都是算法工程师选择策略、进行编程的。相当于,我们要先“教”计算机这件事该怎么干。

但机器学习算法,完全不一样,它不用人教,是自己学的。为什么一定要让计算机具备这样的能力呢?

简单来说,因为我们不知道该怎么教,所以只能让计算机自己学。

举个最简单的例子。比如说孩子问你:“什么动物是猫啊?”你可能给他看各种图片,说:“看见没?这只是猫,那只不是猫,是狗。”最后孩子就不问了,他自己就能判断了。

你看,到最后,我们完成孩子交给我们的任务了吗?孩子想问的是判断一个动物是不是猫的标准,但这世界上可能没有哪个父母,能给孩子解释清楚判断一个动物是猫的步骤和过程。我们不会教。所以我们只是举了几个例子,让孩子用自己的能力学会。

计算机也是这样。按原来的思路,如果我们不把怎么判断一个动物是猫的具体的、明确的、步骤化的过程告诉计算机,那计算机就不会判断。我们不会教,就只能让计算机具有学习的能力。

而很多实际的问题,我们都不知道该怎么教。

比如说,在某个社交网站上,大家都在表达对经济前景的悲观,那这很可能就是一个很强的、预测股票市场走势的信号。谁有这个信号,谁就能在投资市场上先人一步。

那我们能不能用算法来获得这个信号呢?

听起来感觉不难。如果一个留言说,“最近股票要涨”,那这就是一个经济向好的正面信号。如果一个留言说,“贸易战对出口影响很大”,那就是负面信号。把所有的留言对应的正负信号都判断一遍,不就知道公众对经济前景的总体态度了吗?

问题来了,面对某个具体的留言,我们作为有社会经验的人,可以判断一个留言背后是正面还是负面的态度。但这个判断过程,怎么编写成算法让计算机执行呢?而且,表达对经济态度的词句有太多了,我们不可能把所有这样的词句都列出来,然后让计算机进行比对。

而机器学习就能应对这个困境,它可以赋予计算机判断语句态度的能力。机器学习算法,就是一系列人们制定的、让计算机自主学习的算法。

有人会说,那这样就太好了,有了机器学习算法,所有问题都可以让计算机自己来学,然后再做操作和判断。我提醒你,并不是这样。

比如我们想知道,一个社交网站上有哪些用户不活跃。很可能我们只需要看他们过去3个月的登录次数就知道了。登录次数多于5次就是活跃,低于5次就是不活跃。

这样简单的规则,我们是可以直接教给计算机来做的,并不需要机器学习算法。如果真的用了,可能适得其反。我们反而不知道计算机是怎么做判断的了。

2 机器学习做到了什么

既然人不会教的,需要让机器自己学习,那到目前为止,机器学习算法都做到了些什么呢?

有一个关于机器学习的经典案例,我们不能不提它。

2012年,美国明尼苏达州的一位父亲,怒气冲冲地投诉了塔吉特超市的市场部。因为超市给他还在上高中的女儿,发了各种婴儿衣服、婴儿床的广告。超市想卖婴儿用品想疯了吗,要对未成年的女孩兜售?

这位父亲万万没想到的是,她的女儿确实怀孕了。只不过,塔吉特超市的机器学习算法,赶在这位父亲之前知道到了这一点。

怎么回事呢?原来,塔吉特超市有各个消费者的消费记录。算法能根据消费习惯对消费者进行分类,找到他们某些行为和生活中大事件的相关性。

比如说,一位用户同时买了无香型的润肤露和钙镁锌营养品,那她或者她的家人就有很大可能已经在妊娠期了。

这个细节是人们找到然后告诉算法的吗?并不是,机器学习算法是通过学习不同用户的行为,自己把这条规律找到的。

机器学习还有一个最出名的例子,就是2016年3月,AlphaGo以“四比一”的战绩,战胜了曾经的围棋世界冠军李世石。

你可能觉得,计算机有强大的计算能力和记忆力,战胜人类并不稀奇。它把历史上所有的棋谱都学会,下棋的时候用人类围棋历史上顶尖的招数应对就行了。

但事实并不是这样。第二局比赛的第37手棋,AlphaGo走出了一招世界上顶尖棋手都不会走的一步棋。几乎所有的围棋解说都觉得这一步走错了。连在场的李世石都觉得不可思议,必须走出房间进行长时间的思考才能应对。

这一步棋,显然不是跟人学的。

很多报道说这一步是“神来之笔”,我不懂围棋,不知道这一步棋对AlphaGo最终取胜有什么影响。但我想说的是,这一步的重要性在于,机器学习算法在围棋这个领域,已经学到了一些人类无法理解的知识和细节。

还有一个最让我震撼的例子,我也分享给你。机器学习现在可以判断人的心理健康程度,预测自杀倾向。

心理学家和医学工作者早就分析过什么因素会影响人的自杀倾向。但这些因素太多了,基因,心理疾病,是不是受到过侵害,睡眠问题,药物滥用,体脂比等,都有影响。

只可惜,任何一个因素独立起来,都对自杀倾向的预测没有太大的帮助。比如,其中一个重要的因素就是这个人是不是曾经有过自杀行为。这个信号已经很强了,可一个人曾经尝试自杀,还是不能代表他将来会再次自杀。

但借助机器学习算法就不一样了。

机器学习算法可以有针对性地学习,把所有因素进行复杂的组合,找到最有意义的那一组,得到对预测自杀倾向更有用的信号。有些研究表示,机器学习算法可以对一个人两年内的自杀行为进行预测,实现超过85%的准确率。

3 机器学习到底学的是什么?

听完这三个例子,你可能在想,机器学习算法可以学这个,可以学那个,但它本质上到底学的是什么呢?

先说答案,机器学习算法学习的对象是,事物与事物之间的复杂关系,尤其是关系中的某种模式特征。

比如说,塔吉特超市的例子当中,机器学习算法学习的是相关关系。

不同的购物者有不同的购物习惯、买的东西也不一样。常买家庭生活用品和蔬菜水果的人,可能是家里的家庭主夫或者主妇。常买啤酒、零食的人,可能是喜欢派对的独身年轻人。啤酒和零食经常组合在一起,就是机器学习学到的特征。

机器学习算法找到了客户之间的相关性,有了相关性就可以对他们进行分类。如果张三和李四在一个群体中,那算法就可以把张三喜欢的某样商品,推荐给李四。

另外,用户早些时候的购买物品,可能又和他们之后购买的物品有相关关系。

女孩之前买了无香型润肤露和钙镁锌营养品,那之后她买婴儿车、纸尿布的概率就会增大。这种相关性特征,可以帮助我们预测用户的需求。

除了相关关系,事物之间的关系还可以是因果性的。

比如说AlphaGo的算法。AlphaGo之所以在第37步棋那么走,就是因为它找到了不同棋子位置之间的某种特征。不同的盘面模式可以带来不同的胜负结果,它能更好地发现不同的走子方式对输赢结果的因果关系,所以它总是能赢。

利用机器学习算法学习事物之间的因果性,我们可以更好地决策。

再有的时候,事物之间的关系也可以是重要性关系。比如说,自杀倾向的预测。

一个人的经历中留下了很多信号。在这么多维度的信息中,哪些重要,哪些不重要,哪些可以组合在一起成为重要线索。这都是机器学习可以发现的特征。

机器学习算法可以帮助我们筛选出重要信息,找到最有意义的那部分信息和它们的组合。

 划重点

1 机器学习算法是一系列让计算机自主学习的算法。它们最适合用在人类没法用明确规则进行解决的问题上。 2 机器学习学到了很多人类没教过、自己也不懂的事物细节。 3 机器学习学到的是事物之间的复杂关系。

最后,给你留一道思考题。你生活中有遇到哪些事物之间的关系,属于你无法用明确的规则来表达的呢?你觉得机器学习算法是不是可以学到这种关系呢?欢迎你把你的思考分享给我。

学习事物之间的关系,是机器学习算法学习的本质。一旦事物之间的关系准确地刻画出来了,我们就可以做很多以前没法想象的事情。那机器学习是怎么进行学习的呢?我们下一讲来说。


上一篇:蒙特卡罗:丢失确定性之后,怎么办?

下一篇:学习策略:机器学习如何获得知识?

发表评论:

评论记录:

未查询到任何数据!
点击这里给我发消息

在线咨询

咨询专员 点击这里给我发消息

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部