基础概念

1. AI, ML, DL 关系

AI (人工智能) 是顶层概念,旨在让机器模拟人类智能。ML (机器学习) 是实现 AI 的核心方法,通过算法从数据中学习。DL (深度学习) 是 ML 的一个分支,使用多层神经网络处理复杂任务。关系为:AI ⊃ ML ⊃ DL。

2. 常用数据分析库

# 读取CSV
import pandas as pd
data = pd.read_csv('file.csv')

3. 训练集、验证集、测试集

三者应互不重叠。训练集用于模型学习参数;验证集用于调整超参数和模型选择(如调 K 值);测试集用于最终评估模型的泛化能力,只在最后用一次。

4. 拟合与泛化能力

拟合指模型学习训练数据的过程。欠拟合是模型太简单,训练和测试误差都高;过拟合是模型太复杂,在训练集上表现好,但在测试集上差。泛化能力指模型对未见过的新数据的预测能力,是衡量模型好坏的关键。

5. 机器学习方法分类

模型评估

1. 常用性能指标

分类任务:

回归任务:

聚类任务:

2. 评估方法

核心算法与流程

1. KNN (K-最近邻)

思想: “物以类聚”,一个样本的类别由其最近的 K 个邻居的类别投票决定。

流程: ①数据准备与标准化 → ②选择 K 值 → ③计算新样本与所有训练样本的距离 → ④找出最近的 K 个邻居 → ⑤投票决定类别 → ⑥评估模型。

2. K-Means 聚类

思想: 将数据划分为 K 个簇,使簇内点间距离小,簇间距离大。

流程: ①随机选 K 个初始质心 → ②将各样本分配到最近的质心簇 → ③重新计算每个簇的均值作为新质心 → ④重复②和③直到质心不再变化。

优缺点: 优点是简单高效;缺点是需预设 K 值,对初始质心和噪声敏感。

3. 回归算法 (以线性回归/岭回归为例)

思想: 预测连续值,建立输入特征 X 与输出目标 y 的函数关系。

流程: ①准备数据 (X, y) 并划分 → ②数据预处理 (如标准化) → ③选择并训练模型 (model.fit()) → ④预测 (model.predict()) → ⑤评估 (MSE, R²)。

# 岭回归示例
from sklearn.linear_model import Ridge
# ... 数据准备和标准化 ...
model = Ridge(alpha=1.0) # alpha为正则化强度
model.fit(X_train_scaled, y_train)
y_pred = model.predict(X_test_scaled)

4. 支持向量机 (SVC)

思想: 在特征空间中寻找一个能将不同类别样本最大间隔分开的超平面。

# SVC 使用示例
from sklearn.svm import SVC
# ... 数据准备和标准化 ...
# kernel常用'rbf','linear','poly'
model = SVC(kernel='rbf', C=1.0)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

5. Scikit-learn 标准流程

①导入库与模型 → ②加载并划分数据 (train_test_split) → ③特征预处理 (如StandardScaler) → ④创建模型实例 → ⑤训练模型 (model.fit()) → ⑥预测 (model.predict()) → ⑦评估模型 (accuracy_score等)。

神经网络参数计算

1. 全连接层

参数量 = (输入神经元数 * 输出神经元数) + 输出神经元数

示例: `Dense(256, input_shape=(625,))`

参数 = (625 * 256) + 256 = 160,256

2. 卷积层

参数量 = (卷积核宽 * 卷积核高 * 输入通道数 + 1) * 卷积核个数(输出通道数)

示例: `Conv2D(16, (5,5), input_shape=(64,64,3))`

参数 = (5 * 5 * 3 + 1) * 16 = 1,216