> For the complete documentation index, see [llms.txt](https://cccs.viyi.cc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cccs.viyi.cc/5-tuo-zhan-tao-lun/5.1-ji-qi-xue-xi-yu-ren-gong-zhi-neng-machine-learning-artificial-intelligence.md).

# 5.1 机器学习与人工智能 (Machine Learning & Artificial Intelligence)

机器学习 (Machine Learning, ML) 的本质是根据数据做出决定，机器学习算法让计算机可以从数据中学习，然后自行做出预测和决定。

能够根据数据做出一定决断并不意味着它拥有和人类一般的智能 (Artificial Intelligence, AI)。ML 和 AI 经常混用，但计算机科学家通常认为前者是实现后者的技术之一。

## 5.1.1 分类器 (classifier)

本节以判断飞蛾是”月蛾”还是”帝蛾”为例，进行概念的简单讲解。这类问题称为「分类」 (classification)，用于解决分类问题的算法称为「分类器」 (classifier)。

### 决策边界 (decision boundaries)

许多分类器会将照片和声音中的「训练数据」(training data) 简化为「特征」(features)，以便于更好地进行 “分类” 判断的取值。其具体步骤如下：

（1）人类昆虫学家记录飞蛾的特征值和种类，进行「标记数据」(labeled data)。

![标记数据](/files/RNncOIyCMTQohd4YTmmU)

（2）将数据可视化形成「决策空间」(decision space)，使用机器学习算法找出区分飞蛾的最佳方式，确定「决策边界」 (decision boundaries)。

![决策边界](/files/Otkm42mdtVwD45twVre0)

（3）根据实际数据与决策边界的误差值，绘制「混淆矩阵」(confusion matrix)。

![混淆矩阵](/files/POr3dyDHRF1QV3ht3jTQ)

决策边界的确定无法 100% 涵盖正确判断，机器学习算法的目的在于「最大化正确分类 + 最小化错误分类」。在上述训练数据中，所确认的决策边界平均识别准确率在 84%。

### 决策树 (Decision Trees)

将不认识的飞蛾测量特征并绘制到决策空间中，这种数据称为「未标签数据」(unlabeled data)，可以利用决策边界预测判断飞蛾种类。

![未标签数据](/files/xaZrzvWW6yFRnMbhCglr)

将把决策空间切成几个盒子的简单方法可以用「决策树」(Decision Trees) 来表示，使用 if 语句写出代码就是生成决策树的机器学习算法。

![决策树](/files/SM3sOH6s1DoY5ECs5Phz)

决策树只是机器学习中的一个简单示例，如今有数百种算法存在且不断出现新算法。一些算法甚至用多个 “决策树” 来预测，计算机科学家称为 “森林” (Forests)。

也有不用树的方法，比如 “支持向量机” (Support Vector Machines)，本质上是用任意线段来切分 “决策空间”，线段可以是多项式或其他数学函数。

![支持向量机](/files/NpBX23tSj5F0HC01jhgA)

机器学习算法会负责找出最好的线，最准的决策边界。增加至 3 个特征，我们还可以继续用 3D 散点图绘制出决策空间。

![3D散点图](/files/zHoKt5yG5AueClDuY5hj)

但当引入多个特征，就无法依靠人力在一个上千维度的决策空间里，为超平面(Hyperplane)找出一个方程了，但聪明的机器学习算法可以做到。

## 5.1.2 人工神经网络 (artificial neural networks)

“决策树”和”支持向量机”这样的技术发源自统计学，统计学早在计算机出现前就在用数据做决定，有一大类机器学习算法用了统计学方法。但也有不用统计学的算法，其中最值得注意的是「人工神经网络」(artificial neural networks)。

人类的神经元细胞利用电信号和化学信号来处理和传输消息，它从其他细胞 得到一个或多个输入，然后处理信号并发出信号，从而形成巨大的互联网络来处理复杂的信息。

人工神经元通过类似的方式，接收多个输入后整合并发出一个信号。其不适用电信号或是化学信号，而是使用数据堆叠成多层，形成神经元网络，故有此名。

![人工神经网络](/files/kiyMweGkCw1U1ePnSg3H)

仍以飞蛾为例，输入数据的特征依旧选定为 “重量” 和 “翼展” 作为第一层「输入层」(input layer) ，在输入层和输出分类结果的「输出层」(output layer) 之间存在「隐藏层」(hidden layer)。

隐藏层负责把输入变成输出，实际上用于判断分类。首先将输入数据乘以权重，求和后再进行偏差值处理（加减固定值），接着再用激活函数 (activation function) / 传递函数 (transfer function) 对输出结果执行最后一次数学修改。

![隐藏层处理](/files/ilJ4tR7fkuHBsRKbowS3)

权重和偏差值一开始是随机的，算法会通过 “标记数据” 来进行训练和测试，进而调整这些值来逐渐提高准确性。

隐藏层中存在多个神经元 (neuron)，每个神经元都会进行加权、求和、偏置、激活函数的计算过程，并向前进行传播，计算结果最高的就是分类结果。

最重要的是隐藏层可以有很多层，**深度学习 (deep learning )** 因存在多个隐藏层而得名。

![深度学习](/files/8wR3jAbClBJ51ZZ0eXbq)

训练更复杂的网络需要更多的计算量和数据，尽管神经网络 50 多年前就发明了，但直到处理器和 CPU 的发展才使得深层神经网络在最近成为可能。

几年前，Google 和 Facebook 展示了深度神经网络在照片中识别人脸的准确率和人一样高，这是一个巨大的里程碑。

## 5.1.3 强化学习 ( Reinforcement Learning)

只能做特定任务 “弱 AI”(Weak AI) 或”窄 AI” (Narrow AI)，比如利用深层神经网络来开车、翻译、诊断医疗状况等，只能做特定的一件事。

真正通用的、像人一样聪明的 AI，叫 “强 AI” (Strong AI)。目前强 AI 暂未出现，但许多人认为随着数字化知识的爆炸性增长可能会加速其的出现，毕竟 AI 吸收新讯息的速度比人类强得多。

比如 IBM 的 Watson(沃森) 吸收了 2 亿个网页的内容，在 2011 年的知识竞答中碾压了人类；2016 年 Google 推出的 AlphaGo（玩围棋的窄 AI）通过和自己的克隆版下无数次围棋来打败人类最好的围棋选手。

像 AlphaGo 这样通过不断试错来学习什么管用、什么不管用，从而自己发现成功的策略的方法很类似与人类的学习方式，这称为「强化学习」(Reinforcement Learning)。

对于很多垂直的问题，强化学习已被广​​泛使用。如果这类技术被广泛使用，可能会创造出类似于人类的 “强 AI” 能够像人类小孩一样学习，但学习速度超快。如果这发生了，对人类可能有相当大的影响。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cccs.viyi.cc/5-tuo-zhan-tao-lun/5.1-ji-qi-xue-xi-yu-ren-gong-zhi-neng-machine-learning-artificial-intelligence.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
