Skip to content
Merged

Pub0 #111

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion source/第零章/0.1 人工智能简史.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,18 @@

人工智能的第三次浪潮有两个重要的时间节点:2006年和2016年。2006年是深度学习发展史的分水岭。杰弗里辛顿在这一年发表了《一种深度置信网络的快速学习算法》,其他重要的深度学习学术文章也在这一年被发布,在基本理论层面取得了若干重大突破。而2016年3月,谷歌DeepMind研发的AlphaGo在围棋人机大战中击败韩国职业九段棋手李世乭,“人工智能”一词正式进入普通民众的视野并被逐渐熟知。至此,人工智能正式迈向了从“科研领域的应用型工具”到“实用性,功能性工具”的转变,人工智能有了新的研究方向和研究模式,即从过去的学术主导型研究逐渐走向了商业主导型研究。随着人类社会对智能化工具的不断追求和探索,人工智能的发展迎来了全新的时代。

### 1.1.4 总结

### 1.1.4 第四次浪潮

2020年前后,随着深度学习技术的成熟和大规模预训练模型(Large Language Models, LLM)的突破,人工智能发展进入以生成式AI为核心的第四次浪潮。这一阶段的核心标志是Transformer架构的广泛应用,以及以ChatGPT为代表的通用型对话系统在自然语言理解、生成和逻辑推理能力上的飞跃式提升。

此次浪潮的起点可追溯至2017年谷歌提出的Transformer模型,其自注意力机制(Self-Attention)解决了传统循环神经网络(RNN)处理长序列数据的效率瓶颈。2020年,OpenAI发布1750亿参数的GPT-3模型,首次展现了大规模预训练模型在零样本学习(Zero-Shot Learning)和小样本学习(Few-Shot Learning)中的潜力。2022年11月,基于GPT-3.5的ChatGPT正式向公众开放,其通过人类反馈强化学习(RLHF)技术实现了与人类意图对齐的对话能力,上线两个月用户突破1亿,成为历史上增长最快的消费级应用。2023年3月,GPT-4的发布进一步突破多模态能力边界,将文本、图像、代码的生成与理解整合至统一框架。

第四次浪潮的本质是人工智能从“专用工具”向“通用助手”的范式转变。基于自监督学习的预训练技术使得模型能够通过海量数据(如数万亿单词的文本库)自主构建对世界的认知体系,而指令微调(Instruction Tuning)和价值观对齐技术则让人工智能的输出更符合人类伦理与社会规范。此阶段的技术突破显著降低了AI应用门槛,编程、写作、教育、法律等领域的生产力工具开始全面智能化重构,人类与机器的交互模式从“命令式”转变为“协作式”。

然而,此次浪潮也面临前所未有的挑战。千亿级参数模型对算力的需求引发全球GPU资源争夺战,训练成本的高企导致技术垄断风险;模型可能产生包含偏见或事实错误的“幻觉”(Hallucination)输出,引发对信息可信度的担忧;以开源社区(如Meta的LLaMA、Stability AI的Stable Diffusion)与闭源商业公司(如OpenAI、Google)的路线之争,更折射出技术伦理与治理的复杂性。当前,第四次浪潮仍在持续推进中,其最终走向将取决于技术突破、社会接受度与监管框架的多方博弈。

### 1.1.5 总结

![](figures/AI.jpg)

Expand Down
145 changes: 143 additions & 2 deletions source/第零章/0.3 常用包的学习.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,145 @@
# 常用包的学习
## Numpy

## NumPy

**简介:**
NumPy 是 Python 的基础科学计算包,提供了高性能的 N 维数组对象(`ndarray`)和大量用于数组操作的函数。它是很多其他数据分析包(例如 pandas 和 scikit-learn)的基础。

**学习重点:**

- **数组创建:**
- 从列表创建:`np.array([1, 2, 3])`
- 特殊数组:`np.zeros((3, 4))`、`np.ones((2, 5))`、`np.eye(4)`、`np.arange(0, 10, 2)`、`np.linspace(0, 1, 5)`

- **数组操作:**
- 形状操作:`array.shape`、`np.reshape()`、`np.transpose()`
- 切片和索引:类似 Python 列表,但支持多维索引
- 广播机制:在不同形状的数组间进行运算

- **数学运算:**
- 基本运算:加减乘除(直接对数组操作)
- 通用函数(ufuncs):如 `np.sin()`、`np.log()`、`np.exp()` 等
- 矩阵运算:`np.dot()`、`np.matmul()`、`@` 操作符

**示例代码:**

```python
import numpy as np

# 创建数组
a = np.array([1, 2, 3])
b = np.arange(0, 10, 2) # [0, 2, 4, 6, 8]

# 数组的基本运算
c = a * 2
d = np.sin(a)

# 数组的形状操作
matrix = np.arange(12).reshape(3, 4)
transposed = matrix.T

print("数组 a:", a)
print("数组 b:", b)
print("数组 c (a*2):", c)
print("数组 d (sin(a)):", d)
print("原始矩阵:\n", matrix)
print("转置矩阵:\n", transposed)
```

---

## pandas
## matplotlib

**简介:**
pandas 是基于 NumPy 构建的数据分析库,主要提供了两种核心数据结构:`Series`(一维数据)和 `DataFrame`(二维数据表)。它极大地方便了数据读取、清洗、变换和分析。

**学习重点:**

- **数据结构:**
- **Series:** 类似于带标签的一维数组
- **DataFrame:** 表格数据结构,既有行索引也有列标签

- **数据读写:**
- 从 CSV、Excel、SQL 等文件或数据库中读取数据:`pd.read_csv()`, `pd.read_excel()`
- 保存数据:`DataFrame.to_csv()`, `DataFrame.to_excel()`

- **数据操作:**
- 选择与过滤:通过标签(`.loc`)或位置(`.iloc`)索引
- 数据清洗:处理缺失值(`dropna()`, `fillna()`)、重复值
- 数据变换:排序(`sort_values()`)、重设索引(`reset_index()`)
- 数据聚合:`groupby()`、`pivot_table()`、`merge()`、`join()`

**示例代码:**

```python
import pandas as pd

# 创建 DataFrame
data = {
'姓名': ['Alice', 'Bob', 'Charlie', 'David'],
'年龄': [25, 30, 35, 40],
'城市': ['北京', '上海', '广州', '深圳']
}
df = pd.DataFrame(data)

# 查看数据
print("DataFrame 内容:")
print(df)

# 筛选年龄大于30的数据
df_filtered = df[df['年龄'] > 30]
print("\n年龄大于30的人:")
print(df_filtered)

# 分组聚合:按城市统计平均年龄
df_grouped = df.groupby('城市')['年龄'].mean().reset_index()
print("\n按城市计算平均年龄:")
print(df_grouped)
```

---

## matplotlib

**简介:**
matplotlib 是 Python 最常用的数据可视化库,特别是其 `pyplot` 接口,能够方便地创建各种图表(折线图、散点图、直方图、条形图等)。

**学习重点:**

- **基本绘图:**
- 使用 `plt.plot()` 绘制折线图
- `plt.scatter()` 绘制散点图
- `plt.bar()` 绘制条形图
- `plt.hist()` 绘制直方图

- **图表定制:**
- 添加标题:`plt.title()`
- 添加坐标轴标签:`plt.xlabel()`、`plt.ylabel()`
- 添加图例:`plt.legend()`
- 自定义颜色、线型、标记等

- **显示与保存图表:**
- 显示图表:`plt.show()`
- 保存图表:`plt.savefig('filename.png')`

**示例代码:**

```python
import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 绘制折线图
plt.figure(figsize=(8, 4))
plt.plot(x, y, label='sin', color='blue', linestyle='-', marker='o', markersize=4)
plt.title('sin')
plt.xlabel('X ')
plt.ylabel('Y ')
plt.legend()
plt.grid(True)
plt.show()

```
Loading