AI与机器学习基础
AI与机器学习基础
Machine Learning是指硬件机器训练一段模型的软件,使其能够根据数据和算法做出有用的预测或生成内容(包含文本、图片、音频或视频),让机器从数据中学习规律而非显式编程。
假设我们想要创建一个用于 预测降雨量 的应用。
使用传统方法:
如果采用传统方法,我们需要创建地球大气层和地表的基于物理学的表示形式,并计算大量的流体动力学方程。
使用机器学习方法:
如果使用机器学习方法,我们会向机器学习模型提供大量天气数据,直到该模型最终学习到
产生不同降雨量的天气模式之间的数学关系的【算法】。
最终,我们只需向模型提供当前天气数据,让它预测降雨量。1. 机器学习的三大类
1.1 监督学习(Supervised Learning)
核心思想:用 带标签的数据 训练模型,让模型学会从输入映射到输出。就像教小孩认动物:识别标注了"猫"、"狗"的图片,他就学会区分了。
常见任务类型:
- 分类(Classification):预测离散类别。如垃圾邮件检测(是/否)、图像分类(猫/狗/鸟)
- 回归(Regression):预测连续数值。如房价预测、股价预测、温度预测
常见算法:
| 算法 | 适用场景 | 优缺点 |
|---|---|---|
| 逻辑回归 | 二分类问题 | 简单高效,可解释性好;非线性能力弱 |
| 决策树 | 分类/回归 | 直观可解释;容易过拟合 |
| 随机森林 | 通用分类/回归 | 鲁棒性好,不易过拟合;训练较慢 |
| SVM | 高维数据分类 | 泛化能力强;大数据集效率低 |
| XGBoost | 结构化数据竞赛常胜 | 精度高,速度快;参数调优复杂 |
测试要点:监督学习模型的测试重点是评估预测准确性和泛化能力,核心指标包括
准确率、精确率、召回率、F1值、AUC等。
1.2 无监督学习(Unsupervised Learning)
核心思想:数据 没有标签,让模型自己发现数据中的结构和模式。就像给你一堆没有标签的照片,让你自己分成几组。
- 聚类(Clustering):将数据分成若干组,例如 SQL
GROUP BY、NumPy 的分组,如用户分群、异常检测 - 降维(Dimensionality Reduction):减少特征数量,如 PCA、t-SNE 可视化
- 关联规则:发现数据间的关联,如购物篮分析
1.3 强化学习(Reinforcement Learning)
核心思想:Agent(智能体)通过与环境交互,根据奖励/惩罚信号学习最优策略。就像训练宠物:做对了给奖励,做错了给惩罚,逐渐学会正确行为。
典型应用:游戏 AI(AlphaGo)、机器人控制、自动驾驶决策、推荐系统排序。
2. 模型(Model)概念
- 算法、模型和数据是机器学习的三大核心要素。
- 算法是机器学习的基础,它决定了模型的学习方式和工作原理。
- 模型是机器学习的成果,它可以用于预测、分类、分析等任务。
- 数据是机器学习的燃料,它为模型提供学习和训练所需的信息。
在机器学习中,不同类型的模型(聚类模型、递归模型、拟合模型、分类模型)有各自的评估方法和标准。以下是对这些模型的评估方法、标准定义以及应用场景的详细说明。
2.1 聚类模型(Clustering Model)
聚类模型用于将数据集划分为多个组(簇),目的是使同一簇中的数据点尽可能相似,不同簇的数据点尽可能不同。
常见的聚类算法包括 K-means、层次聚类、DBSCAN 等。
评估指标:
轮廓系数(Silhouette Coefficient):衡量样本在其聚类中的紧密度和与其他聚类的分离度。
计算公式:
- :样本到同簇其他点的平均距离
- :样本到最近簇中点的平均距离
取值范围:,接近 表示聚类效果好。
互信息(Mutual Information, MI):衡量聚类结果与真实标签之间的信息共享量。
- 无单位量纲,值越高表示越好的聚类效果。
轮廓分数(Silhouette Score):计算每个点的轮廓系数,取平均值。
Calinski-Harabasz Index:衡量聚类的紧密度和分离度。
调整兰德指数(Adjusted Rand Index, ARI):
- 衡量聚类结果与真实标签的相似度,考虑了随机聚类的影响。
- 取值范围:,值越高越好。
聚类内平均距离(Inertia):
- 计算各点到其聚类中心的平方距离和,常用于 K-means 算法。
- 值越小,表示聚类效果越好。
标准定义:
- 轮廓系数:值在 之间,越接近 表示聚类效果越好。
- 互信息:值在 之间,越接近 表示聚类结果与真实标签越一致。
- Calinski-Harabasz Index:值越大表示聚类效果越好。
应用场景:
- 客户细分:根据购买行为将客户分成不同群体。
- 图像分割:将图像中的像素分成不同区域。
- 市场分析:根据消费者行为数据进行市场细分。
2.2 递归模型(Recursive Model)
递归模型,如递归神经网络(RNN)和长短期记忆网络(LSTM),通常用于处理时间序列数据、自然语言处理等任务。这些模型能够捕捉数据中的时间依赖性和序列关系。
评估方法:
| 指标 | 说明 |
|---|---|
| 均方误差(MSE) | 衡量预测值与真实值之间的平均平方误差 |
| 平均绝对误差(MAE) | 衡量预测值与真实值之间的平均绝对误差 |
| (决定系数) | 衡量模型解释数据变异的能力 |
此外,特定任务还可以使用以下指标:
- 困惑度(Perplexity):模型对给定序列的平均预测概率的倒数。
- BLEU 分数(BLEU Score):用于评价机器翻译质量的指标。
- ROUGE 分数(ROUGE Score):用于评价文本摘要质量的指标。
选择合适的评价指标取决于具体的任务和模型的类型。
标准定义:
- 均方误差(MSE):值越小表示模型预测效果越好。
- 平均绝对误差(MAE):值越小表示模型预测效果越好。
- :值在 之间,越接近 表示模型解释能力越强。
应用场景:
- 时间序列预测:如股票价格预测、天气预报。
- 自然语言处理:如文本生成、机器翻译。
- 信号处理:如语音识别、图像处理。
2.3 拟合模型(Fitting Model)
拟合模型(回归模型)用于预测连续型输出变量。常见的回归模型包括线性回归、岭回归、Lasso 回归等。
评估方法:
- 均方误差(MSE):衡量模型预测值与真实值之间的平均平方误差。
- (决定系数):衡量模型解释数据变异的能力。
- 交叉验证(Cross-Validation):通过多次训练和验证来评估模型的稳定性和泛化能力。
标准定义:
- 均方误差(MSE):值越小表示模型拟合效果越好。
- :值在 之间,越接近 表示模型拟合效果越好。
应用场景:
- 回归分析:如房价预测、销售额预测。
- 曲线拟合:如物理实验数据拟合、经济数据分析。
- 生物统计:如药物剂量反应曲线拟合。
2.4 分类模型(Classification Model)
分类模型用于将数据点分为不同的类别。常见的分类算法包括逻辑回归、支持向量机(SVM)、决策树、随机森林、K 近邻(KNN)和神经网络等。
评估方法:
| 指标 | 说明 |
|---|---|
| 准确率(Accuracy) | 正确分类的样本数占总样本数的比例 |
| 查准率(Precision) | 预测为正类的样本中实际为正类的比例 |
| 召回率(Recall) | 实际为正类的样本中被正确预测为正类的比例 |
| F1 值(F1 Score) | 查准率和召回率的调和平均数 |
| ROC 曲线 | 通过绘制真阳性率和假阳性率来评估模型性能 |
标准定义:
准确率(Accuracy):值越高表示模型分类效果越好。
计算公式:
优点:简单直观。
缺点:在类别不均衡的数据集上,可能会产生误导性的高准确率。
精确率(Precision):衡量预测为正类的样本中实际为正类的比例。
计算公式:
高精确率表示假阳性(False Positive)较少。
召回率(Recall):衡量实际为正类的样本中被正确预测为正类的比例。
计算公式:
高召回率表示假阴性(False Negative)较少。
F1 分数(F1 Score):精确率和召回率的调和平均数。
计算公式:
在精确率和召回率之间取得平衡,适用于类别不均衡的数据集。
ROC 曲线及 AUC:
ROC 曲线:绘制真正率(TPR)对假正率(FPR)的曲线。
AUC:ROC 曲线下的面积,值越大表示模型效果越好(最大值为 )。
计算公式:
混淆矩阵(Confusion Matrix):
- 二分类问题中,混淆矩阵显示了预测结果与实际结果的对照情况。
- 包含四个要素:真正类(TP)、假正类(FP)、假负类(FN)、真负类(TN)。
- 通过混淆矩阵可以计算多种评价指标,如准确率、精确率、召回率和 F1 分数。
应用场景:
- 垃圾邮件检测:将邮件分类为垃圾邮件或正常邮件。
- 疾病诊断:根据症状和检查结果分类是否患有某种疾病。
- 图像分类:将图像分类为不同类别,如猫、狗、鸟等。
模型总结
| 模型类型 | 主要用途 | 核心评估指标 |
|---|---|---|
| 聚类模型 | 数据分群 | 轮廓系数、CH 指数、ARI |
| 递归模型 | 时间序列预测 / 序列数据处理 | MSE、MAE、 |
| 拟合模型 | 数据拟合 / 回归分析 | 、MSE |
| 分类模型 | 分类任务 | 准确率、精确率、召回率、F1、AUC |
3. 如何判断模型的类型
面对一个陌生的模型时,可以从以下四个维度快速判断它属于哪种模型类型:
3.1 看输出
| 输出类型 | 对应模型类型 | 例子 |
|---|---|---|
| 离散类别/标签 | 分类模型 | 垃圾邮件 vs 正常邮件、猫/狗/鸟 |
| 连续数值 | 拟合模型(回归) | 房价 350 万、温度 26.5°C |
| 分组/簇 | 聚类模型 | 用户分群 A/B/C、图像区域分割 |
| 序列(文本/时间序列) | 递归模型 | 机器翻译、股价走势预测 |
核心判断:模型输出的「形状」决定了模型类型。输出是类别就是分类,输出是数值就是回归,输出是分组就是聚类。
3.2 看训练数据
| 数据特征 | 对应模型类型 | 关键信号 |
|---|---|---|
| 有标签 | 监督学习(分类/回归/递归) | 输入 和输出 成对出现 |
| 无标签 | 无监督学习(聚类/降维) | 只有输入 ,没有 |
| 有奖励信号 | 强化学习 | 不是直接标签,而是环境反馈的 reward |
3.3 看核心算法
| 算法名 | 模型类型 | 一句话识别 |
|---|---|---|
| 逻辑回归、SVM、决策树、随机森林、XGBoost | 分类模型 | 名字带「分类」或输出离散值 |
| 线性回归、岭回归、Lasso | 拟合模型 | 名字带「回归」或输出连续值 |
| K-means、DBSCAN、层次聚类 | 聚类模型 | 名字带「聚类」或无监督分组 |
| RNN、LSTM、GRU、Transformer | 递归模型 | 处理序列数据,有「记忆」结构 |
3.4 看评估指标
如果你能看到模型的评估报告,指标也能直接暴露类型:
- 看到 Accuracy、Precision、Recall、F1、AUC → 分类模型
- 看到 MSE、MAE、 → 拟合模型(回归)或递归模型
- 看到 轮廓系数、CH Index、ARI → 聚类模型
- 看到 BLEU、ROUGE、困惑度(Perplexity) → 递归模型(NLP 方向)
3.5 快速判断流程图
模型的输出是?
├─ 类别/标签 ──→ 分类模型
├─ 连续数值 ──→ 是序列数据吗?
│ ├─ 是 ──→ 递归模型
│ └─ 否 ──→ 拟合模型(回归)
└─ 分组/簇 ──→ 聚类模型总结:先看输出类型,再看训练数据是否有标签,最后用算法名和评估指标交叉验证 —— 三个维度一致,就能确定模型类型。
4.算法
算法简介
- KMeans 算法: KMeans 算法是一种基于原型的聚类算法,其目标是将数据点划分成 K 个簇,使得每个簇内的点尽可能相似,而不同簇之间的点尽可能不同。
- 层次聚类算法: 层次聚类算法是一种自底向上的聚类算法,其工作原理是先将数据点两两聚类,然后逐步合并相似度较高的簇,直到形成所需的簇数。
- DBSCAN 算法: DBSCAN 算法是一种密度聚类算法,其工作原理是将密度较高的区域划分为簇,而密度较低的区域则视为噪声点。
- 循环神经网络 (RNN): 循环神经网络是一种能够处理序列数据的模型,其核心思想是让神经元的输出不仅依赖于当前的输入,还依赖于上一次的输出。
- 长短期记忆网络 (LSTM): 长短期记忆网络是一种改进的循环神经网络,其主要特点是引入了一种称为门控机制的结构,能够更好地捕捉长距离依赖关系。
- 门控循环单元 (GRU): 门控循环单元是另一种改进的循环神经网络,其主要特点是简化了门控机制,在保持性能的同时降低了计算复杂度。
- 线性回归: 线性回归是一种用于预测连续型目标变量的模型,其假设是目标变量与自变量之间存在线性关系。
- 逻辑回归: 逻辑回归是一种用于预测离散型目标变量的模型,其假设是目标变量服从伯努利分布。
- 决策树: 决策树是一种树状结构的分类模型,其工作原理是根据特征值对数据进行递归划分,直到形成最终的分类结果。
- 支持向量机 (SVM): 支持向量机是一种用于分类和回归的模型,其核心思想是找到能够最大化间隔的超平面,将数据点划分为不同的类别。
- 朴素贝叶斯: 朴素贝叶斯是一种基于贝叶斯定理的分类模型,其假设是特征之间相互独立。
- 随机森林: 随机森林是一种集成学习模型,其工作原理是训练多个决策树,然后根据投票结果进行预测。
- 梯度提升决策树 (GBDT): 梯度提升决策树是一种集成学习模型,其工作原理是逐棵训练决策树,并根据每个决策树的残差进行修正。
4.1 不同类型模型的算法总结
| 模型类型 | 算法 | 优缺点 | 应用场景 |
|---|---|---|---|
| 聚类模型 | - KMeans 算法(K 均值) - 层次聚类算法 - DBSCAN 算法 | - 简单易用,易于解释 - 对异常点敏感 - 难以处理高维数据 | - 客户细分 - 市场营销 - 文档聚类 |
| 递归模型 | - 循环神经网络 (RNN) - 长短期记忆网络 (LSTM) - 门控循环单元 (GRU) | - 擅长处理序列数据 - 能够捕捉长距离依赖关系 - 参数较多,训练难度较大 | - 机器翻译 - 语音识别 - 自然语言处理 |
| 拟合模型 | - 线性回归 - 逻辑回归 - 决策树 - 支持向量机 (SVM) | - 简单易用,易于解释 - 能够对数据进行非线性拟合 - 存在过拟合风险 | - 预测房价 - 医学诊断 - 欺诈检测 |
| 分类模型 | - 朴素贝叶斯 - 随机森林 - 梯度提升决策树 (GBDT) | - 鲁棒性强,不易受异常点影响 - 能够处理高维数据 - 难以解释模型结果 | - 垃圾邮件过滤 - 信用评分 - 医学诊断 |
4.2 逻辑回归与 线性回归
逻辑回归和线性回归都是机器学习中常用的算法,但它们在目标、方法和应用场景上存在本质区别。
目标
- 线性回归:旨在预测连续的目标变量。例如,预测房价、体重或考试成绩等。
- 逻辑回归:旨在预测二分类的目标变量。例如,预测电子邮件是否为垃圾邮件、用户是否会购买产品或患者是否患有某种疾病等。
方法
- 线性回归:使用线性函数来拟合数据。该线性函数将输入变量映射到一个实数值,即预测值。
- 逻辑回归:使用逻辑函数(例如sigmoid函数)将线性函数的输出映射到一个介于0和1之间的概率值,表示数据属于某一类的可能性。
模型参数
- 线性回归:模型参数包括偏置项和回归系数。偏置项是模型预测值的基础值,回归系数衡量输入变量对预测值的影响程度。
- 逻辑回归:模型参数也包括偏置项和回归系数,但它们的含义与线性回归中不同。在逻辑回归中,回归系数衡量输入变量对对数几率的影响程度。
训练
- 线性回归:通常使用最小二乘法来训练模型,即最小化预测值与真实值之间的平方差。
- 逻辑回归:通常使用最大似然估计或最小交叉熵来训练模型。
评估
- 线性回归:常用的评估指标包括均方误差(MSE)、平均绝对误差(MAE)和R平方值等。
- 逻辑回归:常用的评估指标包括准确率、召回率、F1分数和ROC曲线等。
应用场景
- 线性回归:广泛应用于预测和回归任务,例如房价预测、股票价格预测和需求预测等。
- 逻辑回归:广泛应用于分类任务,例如垃圾邮件识别、信用卡欺诈检测和医学诊断等。
总结
| 特征 | 线性回归 | 逻辑回归 |
|---|---|---|
| 目标 | 预测连续的目标变量 | 预测二分类的目标变量 |
| 方法 | 使用线性函数 | 使用逻辑函数 |
| 模型参数 | 偏置项和回归系数 | 偏置项和回归系数 |
| 训练 | 最小二乘法 | 最大似然估计或最小交叉熵 |
| 评估 | MSE、MAE、R平方值等 | 准确率、召回率、F1分数、ROC曲线等 |
| 应用场景 | 预测、回归 | 分类 |
以下是一些具体的例子:
- 预测房价:可以使用线性回归模型来预测房价。输入变量可以包括房屋面积、房间数、地理位置等,目标变量是房价。
- 识别垃圾邮件:可以使用逻辑回归模型来识别垃圾邮件。输入变量可以包括电子邮件的主题、内容、发件人等,目标变量是电子邮件是否为垃圾邮件。
- 诊断医学疾病:可以使用逻辑回归模型来诊断医学疾病。输入变量可以包括患者的症状、体征、检查结果等,目标变量是患者是否患有某种疾病。
4. 深度学习核心概念
4.1 神经网络基础
神经网络由输入层、隐藏层、输出层组成。每个神经元接收输入,通过权重加和后经过激活函数产生输出。
训练过程就是通过反向传播算法不断调整权重,使模型的预测结果与真实标签之间的损失函数最小化。
关键术语:
- 权重(Weight)和偏置(Bias):模型的可学习参数
- 激活函数(Activation):引入非线性,如 ReLU、Sigmoid、Softmax
- 损失函数(Loss):衡量预测与真实之间的差距,如交叉熵、MSE
- 优化器(Optimizer):更新参数的算法,如 SGD、Adam
- 学习率(Learning Rate):参数更新的步长,太大震荡,太小收敛慢
- 过拟合(Overfitting):模型记住训练数据但泛化能力差,应当
减少特征,SMOTE处理不平衡,调低学习率 - 欠拟合: 模型太简单没有学习完整,应当
增加特征,换复杂模型 - 正则化(Regularization):防止过拟合的技术,如 Dropout、L2 正则
5.2 主要网络架构
| 架构 | 核心思想 | 典型应用 |
|---|---|---|
| CNN卷积神经网络 | 通过卷积核提取空间特征 | 图像分类/目标检测/OCR |
| RNN循环神经网络 | 处理序列数据,有记忆能力 | 时间序列/早期NLP |
| LSTM/GRU | 解决RNN长距离依赖问题 | 语音识别/机器翻译 |
| Transformer | 自注意力机制,并行处理 | GPT/BERT/所有现代LLM |
| GAN生成对抗网络 | 生成器vs判别器对抗训练 | 图像生成/数据增强 |
| 扩散模型 | 从噪声逐步去噪生成内容 | Stable Diffusion/DALL-E |
5.3 Transformer与大语言模型
Transformer 是 2017 年 Google 提出的架构,其核心创新是自注意力(Self-Attention)机制,能够捕捉序列中任意位置之间的依赖关系。这一架构彻底改变了 NLP 领域,并成为所有现代大语言模型的基础。
GPT 系列(Generative Pre-trained Transformer)采用 Decoder-only 架构,通过海量文本数据预训练,学会了预测下一个 token。模型规模从 GPT-2 的 15 亿参数到 GPT-4 的数万亿参数,涌现出了推理、编程、创作等能力。
测试视角:理解 Transformer 架构有助于理解 LLM 的能力边界——它本质上是在做条件概率预测,这解释了为什么会产生幻觉(自信地编造事实)。
6. AI系统的完整生命周期
理解 AI 系统的生命周期对于确定测试切入点至关重要:
- 数据收集与准备:采集原始数据、数据清洗、数据标注、数据增强、特征工程
- 模型训练:选择算法、配置超参数、模型训练、交叉验证
- 模型评估:离线评估(准确率等指标)、A/B 测试、人工评估
- 模型部署:模型序列化、服务化部署、API 封装、负载均衡
- 模型监控:性能监控、数据漂移检测、模型漂移检测、告警
- 模型迭代:根据线上反馈收集新数据、重新训练、灰度发布
每个阶段都需要测试! 数据阶段需要数据质量测试,训练阶段需要训练过程验证,评估阶段需要全面的指标评测,部署阶段需要集成测试和性能测试,监控阶段需要持续的漂移检测和告警验证。