目录
机器学习的含义
概念
机器学习,人工智能,深度学习的关系
机器学习是什么
机器学习的基本思路
机器学习三要素
机器学习训练方法分类
监督学习
非监督学习
强化学习
降维
直觉在高维空间中失效
泛化
机器学习实操的7个步骤
机器学习的难点
总结
正文
机器学习的含义
概念
机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。
所以,机器学习不是某种具体的算法,而是很多算法的统称。
机器学习,人工智能,深度学习的关系
深度学习的灵感来自大脑的结构和功能,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
不管是机器学习还是深度学习,都属于人工智能(AI)的范畴。所以人工智能、机器学习、深度学习可以用下面的图来表示:
机器学习是什么
机器学习的基本思路
1.把现实生活中的问题抽象成数学模型,并且很清楚模型中不同参数的作用
2.利用数学方法对这个数学模型进行求解,从而解决现实生活中的问题
3.评估这个数学模型,是否真正的解决了现实生活中的问题,解决的如何?
机器学习三要素
数据、算法、模型
机器学习研究的是从数据中通过选取合适的算法,自动的归纳逻辑或规则,并根据这个归纳的结果(模型)与新数据来进行预测。
机器学习训练方法分类
监督学习
监督学习的数据比较特殊,举个栗子,比如你在中学学习英语,在老师的帮助下练习英语发音,数据是你的发音和这个发音的对错/准确程度(对错/准确程度是老师告诉你的),然后算法就是你去尝试去模拟数据(发音)的规律,不断根据英语单词的拼写规律来学习发音,最终你学习到了基于拼写及句子的上下文调整发音。
非监督学习
无监督学习的数据中没有人告诉你对错信息,举个栗子,今天老师给你了一个碗,里面有黑米有红米,让你对这个碗里的米分个类,你可能根据颜色分类,也可能根据大小、重要分类,都没有问题,因为老师没说按什么分,对不对这个问题。
强化学习
强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
降维
直觉在高维空间中失效
机器学习中最大的问题是 维数的诅咒。这意味着如果输入是高维的,许多在低维度下正常工作的算法会变得难以处理。由于固定大小的训练集只覆盖了输入空间的一小部分(可能的组合变得巨大),因此随着样本 维度(即特征的数量) 的增长,正确泛化的难度呈指数增加。但这就是机器学习既有必要又有困难的原因。如下图所示,即使从 1-D 过渡到 3-D,分辨出不同样本的工作似乎开始变得越来越难——在高维度上,所有的样本看起来都是一样的。
这里的问题是,来自三维世界的直觉在高维度上失效。例如高维的橘子,大部分体积都在果皮里,而不是果肉里!
难以置信的是:如果固定数量的样本在高维超立方中均匀分布,并且,如果我们通过将其嵌入超立方中来近似超球面,那么在高维空间中,超立方体的几乎所有体积都在超球体之外。这是个坏消息,因为在机器学习中,一种类型的形状常常通过另一种类型的形状近似。
注意:你可能已经被所有这些“超(hyper)”给弄糊涂了,超立方内部的超球面在二维和三维空间中看起来会像下面这样:
因此,现在可以理解,构建 2 维或 3 维的分类器很容易。但在高维度上,很难理解发生了什么。反过来,这让设计好的分类器变得困难。事实上,我们经常陷入这样的陷阱:认为收集更多的特征永远不会有害,因为在最坏的情况下,它们不会提供关于类的新信息。但事实上,维度的诅咒带来的问题会超过它们的好处。
建议:下次当考虑添加更多特征时,请考虑当维度变得太大时可能带来的潜在问题。
泛化
泛化就是你学到的规则/模型的普适程度。
举个栗子吧,今天老师让你看了20个西瓜,并告诉你熟不熟,然后给你一个西瓜,问你只看外观,这个西瓜熟不熟,你可能根据以下来判断:
可能你是这么做的:看表皮,你发现20个瓜里面,瓜皮表面光滑、花纹清晰、纹路明显、底面发黄的瓜都是熟的,但是不满足任何一个条件的都是不熟的。
所以你学到的模型如下:如果瓜皮表面光滑、花纹清晰、纹路明显、底面发黄的,就说明是熟瓜;其它的是不熟的瓜。
但是其实有时候,纹路不明显,但其他条件满足的时候也会有一部分是熟的瓜。所以你学到的模型具有一定泛化性能,但不具有很高的泛化性能。
机器学习实操的7个步骤
1.收集数据
2.数据准备(涉及数据清洗等工作)
3.选择一个模型
4.训练
5.评估
6.参数调整
7.预测(开始使用)
机器学习的难点
如果你思考一遍上述流程, 你可能发现一切都很容易, 从数据清洗,特征提取,到模型选择, 事实上这你就错了。 因为机器学习最难的一步 , 这里根本就没提到, 那就是把现实生产生活中的问题, 提炼成一个机器学习问题 。这需要的是你对问题本身的深刻洞察。 有一天也许整个数据清洗到模型选择和交叉验证都自动化了。但始终有一个东西不能完全被机器搞定, 那就是你如何从一个全新的领域, 去提取机器学习可以有助解决的最重要的问题。再有, 无论机器的预测多准确, 它的结果如果不是在解答人的需求, 也是一个没用的或至少不令人喜欢的东西。 比如我发明一个算法能够特别准的预测老人的寿命, 或者根据女生现在的长相推测她80岁的长相, 即使算法十分牛掰, 这样的产品估计也不是客户喜闻乐见的。
总结
我认为机器学习就是AI人工智能的一个关键技能,对准人工智能三大研究内容之一——计算机模仿人类思考(另外两个是对环境的感知和动作的实现)。而机器学习中,除了上述难点外,我认为最重要的是数据的收集与模型的选择,网络上大部分言辞都是偏向于数据收集更重要,但我觉得二者缺一不可,只是现在各类模型已然非常完备,而数据是要从零去收集,相较而言,数据收集确实需要我们花费更多的时间精力去收集。