机器学习 & 人工智能
- 分类
- 分类器
- 特征
- 标记数据
- 决策边界
- 混淆矩阵
- 未标签数据
- 决策树
- 支持向量机
- 人工神经网络
- 弱 AI,窄 AI
- 强 AI
- 强化学习
计算机很擅长存放,整理,获取和处理大量数据。很合适有上百万商品的电商网站,或是存几十亿条健康记录,方便查看。
但如果想根据数据做决定呢?
这是机器学习的本质 (根据数据做决定)。机器学习算法让计算机可以从数据中学习,然后自行作出预测和决定。
能自我学习的程序很有用,比如判断是不是垃圾邮件。人是否有心律失常吗?下一个视频该推荐哪个?等等。虽然有用,但不会说它有人类一般的智能。虽然 AI 和 ML 这两词经常混着用,大多数计算机科学家会说,机器学习是为了实现人工智能这个更宏大目标的技术之一,人工智能简称 AI。
机器学习和人工智能算法一般都很复杂,说一说概念。
分类器
例如:判断飞蛾是“月娥”还是“帝娥”,这叫“分类”。
做分类的算法叫“分类器”,虽然用照片和声音来训练算法,很多算法会减少复杂性,把数据简化成“特征”,“特征”是用来帮助“分类”的值。
标记数据和决策边界
对于飞蛾分类的例子,用两个特征:“翼展”和“重量”,为了训练“分类器”作出好的预测,需要“训练数据”,为了得到数据,需要收集相应相关合适量的数据。收集过程中,需要记录数据,并且不只记录特征值,还会把种类记录上,这叫“标记数据”,因为只有两个特征,很容易用散点图把数据视觉化。能够大致分成俩组,但还是会有一定的重叠,需要机器学习算法,找出最佳区分,通过数值估量,翼展小于 45 毫米的,很可能是帝娥,再加上一个条件,重量必须小于 0.75,才算是帝娥。这些叫做“决策边界”。
混淆矩阵
一定数量的帝娥在正确的区域,但剩下的几只,在错误的区域,另一方面,一定数量的月娥在正确的区域,剩下的在错误的区域。这个表,记录正确数和错误数,这表叫“混淆矩阵”。
---------------------------
| 正确区域帝娥 | 错误区域帝娥 |
|-------------------------|
| 错误区域月娥 | 正确区域月娥 |
---------------------------
机器学习算法的目的,是 最大化正确分类 + 最小化错误分类。
未标签数据
用决策边界,如果是一只不认识的飞蛾,可以测量它的特征,并绘制到决策空间上,这叫“未标签数据”。
决策边界可以猜测飞蛾的种类。
决策树
这个把决策空间,切成几个盒子的简单方法,可以用“决策树”来表示。
图像与 if 语句:
生成决策树的机器学习算法,需要选择用什么特征来分类,每个特征用什么值。
有时候一些算法甚至用多个“决策树”来预测,计算机科学家叫这个“森林”,因为有多棵树。
支持向量机
本质上使用任意线来切分“决策空间”,不一定是直线,可以是多项式或其他数学函数。机器学习算法负责,找出最好的线,最准确的决策边界。
只有两个特征比较好实现,但如果加第三个特征,比如“触角长度”,那么 2D 线段,会变成 3D 平面。在三个唯独上做决策边界,这些平面不必是直的,而且 真正有用的分类器会有很多飞蛾种类。
三个特征和五个品种,可以用 3D 散点图 实现:
如果是一次性有 4 个或更多个特征,就容易实现,没有好的方法,更别说成百上千的特征了。这正是机器学习面临的问题。
通过想象在一个上千纬度的决策空间里,给超平面找出一个方程。是不可行的,但机器学习算法可以做到。
人工神经网络
“决策树”和“支持向量机”这些都出至于统计学,统计学早在计算机出现前,就在用数据做决定,有一大类机器学习算法用了统计学,也有不使用统计学的。其中值得注意的是 人工神经网络,灵感来自大脑里的神经元。神经元是细胞,用电信号和化学信号,来处理和传输消息,它从其他细胞得到一个或多个输入,然后处理信号并发出信号,形成巨大的互联网络,能处理复杂的信息。
人造神经元很类似,可以接受多个输入,然后整合并发出一个信号,它不用电信号或化学信号。而是吃数字进去,吐数字出来,它们被放成一层层,形成神经元网络,因此得名神经网络。
飞蛾例子,看如何用神经网络分类:
- 第一层,输入层,提供需要被分类的单个飞蛾数据,同样,也用重量和翼展。
- 另一边是输出层,有两个神经元:一个是月娥,一个是帝娥。2 个神经元里最兴奋的,就是分类结果。
- 中间有一个隐藏层,负责把输入变成输出,负责干分类这个重活。
抽取一个“隐藏层”里第一个神经元,神经元做的第一件事是把每个输入乘以一个权重。