012-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

6 机器学习第三步

到这里为止,我们设计了一个包括众多函数的集合, 也确认了判断一个函数合适 与否的比较准则。 接下来,我们要在这个函数集合中找到这个函数。

6.1 迭代法

你也许听过什么梯度下降法,牛顿法, 随机梯度下降法(SGD)等各式各样的洋气 方法。 但是其实它们都不是朴素的思维。 在这一步背后的朴素的思维,用一个词就可 以描述:

「迭代法」。

在解释迭代法之前,我问一个问题,为啥用迭代法? 没有其它方法了吗?

答案是,有。 但是有前提条件。如果在第一步设计的函数集合比较简单, 又比较 幸运可以直接用公式表达出来,我们就可以直接使用代数或微积分的知识, 直接把它 解出来。这类解,数学家叫解析解(analytical solution)。

然而,本文所涉及的这些函数集合或称之为模型,是没有解析解的, 可能有所谓 的数值解(numerical solution),所以, 要通过其它的方法来得到解。

我们先来举个例子分析迭代法背后朴素的思想。 这次,我们不用其他人用滥的例 子,比如说从山顶一步一步往下走, 走到最低处。 这次用一个我亲自设计的例子来解 释迭代,估算房价的例子。 1

假设,你的任务还是想找一个足够靠谱的人来估算房价, 步骤还是三步。

1.) 在第一步中,设计模型。 假设你有全世界的人的联系方式, 让他们给你配合 估算房价。 就当你有 70 亿个专家吧。也就是说, 把函数映射中的70亿个函数 都圈定好了。

2.) 第二步中,确定损失值计算方法或准则: 谁的水平高等同于谁算得准。即, 其房价的估算值与房价的真实值差的相减差得最少。 你准备了一道房价估算 的考试题。

3.) 现在到了第三步,我们来详细解释如何去找那个估算房价最准的人。

最方便的或最容易想到的方法, 是把这些人一个一个喊过来做这道题,估算 一下房价, 再和真实值(标准答案)比一下,计算其损失值。 等这70 亿人都 估算完了,你就有了 70 亿个根据估算得到的损失值。 把他们的损失值从小到 大排个序, 然后就找到那个估算最准确的人了。 很明显,这个方法效率低, 太笨。 这个方法又被人称之为「穷举法」。

「迭代法」是这样做的:你先随便找一个人 A 做题, 估算一下房价, 看看他 水平怎么样。 当然,因为随机找的,属于瞎猫想碰个死耗子。 大概率下,他 的水平不行,与真实房价差得远。 不过没关系,备选的人多得是,我们再找 下一个人。 这里有一个技巧,就是找下一人之前, 你问一下 A,让他推荐一 个他自认为比他的水平高的人。 假设 A 推荐了他的邻居 B,你就去找 B 来做 一下这个题,估算一下。 B 估算完,你一看,果然是比 A 水平强一些,但是 结果还是不够好。 没关系,再找下一个。 接着让 B 推荐一个他自认为比他的 水平也高的人。 假设这个人是 B 的领导 C,同样,C估算完,你看一下他的水 平(损失值), 与我们的标准答案差多少。接着, 再让 C 推荐下一个人 D , 如此反复估算和推荐过程,······ 直到有一次,你发现有一个人估算得比较准 了,八九不离〸,就他了。 至此,你就找到了那个满足估算精度要求的人, 结束迭代。

这个例子,其实与送一封信给一个你不认知识的大人物有点类似。 通过每次小步 的优化思路, 最后找到一个满意且确定的结果。 迭代思维, 其实也是人生的优化原 则(复利的原则),每次进步一点点, 通过不停地迭代,量变到质变,达到自己的目 标。[6] 想一口吃个胖子,找到所谓的解析解, 只能适用于一些简单地问题,不能称之 为难题。 而我们机器学习所面临的题目,都是比较难的。 接下来,我们介绍最流行的 梯度下降法。

013-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考


  1. 声明一下,这个例子是我原创的,有版权的;:)。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值