主题:【原创】机器学习的基础是什么?(0) -- 看树的老鼠
参照《机器学习的基础是什么?(4) 与传统科学方法的区别》一文的讨论,机器学习的本质缺陷是:它得出的模型是无法理解的。
这带来了两个麻烦:
1. 当机器学习模型失效时,人真的说不清楚到底它为什么失效了。
2. 一个可用的机器学习模型,很难告诉我们任何关于问题本质的信息。
那么,下一步该往哪走呢?
也许我们应该增强可理解性。有这么几条路线:
1. 人工的构建简单模型。比如动物识别这个问题吧,如果我们做出几个模型,毛发颜色识别、脸型识别、四肢识别,然后把这些模型组合起来,去做动物分类。这样,当模型失效时,我们至少可以看看,是不是毛发颜色识别错了?是否把尾巴也当作一条四肢了?
2. 或许我们不应该从数学上理解模型在干什么,而是从经验上来看。比如从数学上很难理解Google的神经网络上每个神经元在干什么 http://www.talkcc.com/article/3835672 。 但是呢,看看这个神经元的行为,它对于什么样的图像敏感,我们就能一眼发现,这个神经元是个猫咪控呢。
传统科学知识之间有关系,而现在的每个机器学习模型都是相互独立的,怎么解决这个问题呢?
前面说的动物识别那个例子是一个方法。这是人工来创造知识之间的联系了。我觉得短期内这种方法比更高级的方法靠谱的多。
不过呢,或许我们也可以隐含的构建一组相互联系的模型。这也是深度神经网络发展的一个方向。比如自然语言处理问题,我们创造好几个神经网络,这些网络共用一些节点。然后呢网络一去做中文分词,网络二去做词义理解,网络三去做句法分析,网络四去做语义分析。同时训练这四个网络,我们可以猜测,四个网络公用的节点上也许会形成一些词法知识,网络二和网络四共用的节点上也许会形成一些语义知识。而且呢,词法知识和语义知识之间也有网络连接。这也算是自动建立了知识的结构了。
最后,机器学习处理的问题往往都很难,比如自然语言处理、图像识别、语音识别。关于这些问题,真的有一个人可以理解的简单模型吗?我不知道。
如果我们承认,这样的模型不存在,那么,也许我们应该老老实实的,就当机器学习模型在凑答案、凑公式吧。管用就行。我们可以继续提高我们凑公式的能力。最早的时候,我们只有线性模型。后来我们有了多项式模型、支持向量机,后来呢,我们有了深度神经网络,它们都依据不同的假设,努力凑出更好的公式。
暂时就写到这里,先扛个铁牛吧。
下面也许还有两个主题:一个是解释机器学习工程师们每天都在干些什么。另一个是解释线性分类器、支持向量机和深度学习网络背后的直觉都是什么。
看大家是否感兴趣吧。
- 相关回复 上下关系8
🙂谢谢,我读了,可是没有哪里谈到出营啊? 看树的老鼠 字0 2014-01-26 05:55:14
🙂条件到了,自然就出来了^^ 1 文青 字0 2014-01-26 19:06:12
🙂哈哈,好! 看树的老鼠 字0 2014-01-26 20:01:26
🙂机器学习的基础是什么?(5) 下一步往哪走?
🙂下一步怎么还不来? 3 原手 字1104 2014-02-09 16:45:59
🙂抱歉,可能要等一段时间啦 看树的老鼠 字16 2014-02-10 07:17:56
🙂刚进入这个领域不久,这个说法实在很深刻 dustinwind 字0 2014-02-08 17:01:53
🙂我觉得可能当一个人对某一东西学习失效时, 桥上 字86 2014-02-07 22:26:21