1 定义与基本原理
1.1 机器学习的定义
机器学习(Machine Learning, ML)是人工智能的一个核心子领域,专注于通过算法和统计模型使计算机系统能够从数据中自动学习模式,并利用所学模式进行预测或决策,而无需显式编程。其核心在于构建能够从经验(数据)中改进性能的数学模型。
1.2 核心概念
1.2.1 训练数据与测试数据
训练数据是用于训练模型的数据集,模型通过它学习内在规律;测试数据是模型未见过的数据,用于评估模型的泛化能力。两者的严格分离是避免过拟合的关键。
1.2.2 特征与标签
特征(Feature)是描述样本的变量或属性,标签(Label)是监督学习中样本对应的目标输出。模型通过学习特征与标签的映射关系进行预测。
1.2.3 模型与假设空间
模型是学习系统的具体算法实例,通常用一个参数化函数表示。假设空间是所有可能模型的集合,学习过程即在该空间中搜索最佳模型。
1.3 学习范式
1.3.1 监督学习
监督学习使用带标签的训练数据,学习从输入到输出的映射,常见任务包括分类和回归。
1.3.2 无监督学习
无监督学习使用无标签数据,发掘数据内在结构,典型任务有聚类和降维。
1.3.3 半监督学习
半监督学习结合少量标注数据和大量未标注数据,利用未标注数据的信息提升模型性能。
1.3.4 强化学习
强化学习通过智能体与环境交互,根据奖励信号学习最优策略,广泛应用于游戏、机器人控制等领域。
2 主要算法分类
2.1 回归算法
回归算法用于预测连续值,典型算法包括线性回归、岭回归、Lasso回归等,常用于房价预测、趋势分析等场景。
2.2 分类算法
2.2.1 逻辑回归
逻辑回归虽名称含“回归”,实为分类算法。它使用Sigmoid函数将线性输出映射到[0,1]区间,用于二分类及多分类(如Softmax回归)。
2.2.2 支持向量机
支持向量机(SVM)通过寻找最大间隔超平面来划分数据,利用核技巧可处理非线性分类,拥有良好的泛化能力。
2.2.3 决策树与随机森林
决策树基于特征划分构建树状决策模型,易于解释。随机森林通过集成多棵决策树(Bagging)降低方差,提高准确性和鲁棒性。
2.2.4 k-近邻算法
k-近邻算法(KNN)基于样本空间中最近邻的k个样本的类别进行多数投票,是一种非参数惰性学习算法。
2.3 聚类算法
2.3.1 K-means
K-means将数据划分为K个簇,通过迭代更新簇中心最小化簇内距离,适用于大规模球形簇数据。
2.3.2 层次聚类
层次聚类构建树状结构,依据距离度量逐步合并或分裂簇,无需预设类别数,常用于生物分类等场景。
2.3.3 DBSCAN
DBSCAN基于密度聚类,能够识别任意形状的簇并自动处理噪声点,参数设置影响较大。
2.4 降维算法
2.4.1 主成分分析
主成分分析(PCA)通过线性变换将高维数据投影到低维子空间,保留最大方差,常用于数据压缩与可视化。
2.4.2 t-SNE
t-SNE是一种非线性降维技术,专注于保持高维数据的局部相似性,尤其擅长将高维数据映射到二维或三维空间进行可视化。
2.5 集成学习
2.5.1 Bagging
Bagging(Bootstrap Aggregating)通过并行训练多个基学习器并投票(或平均)得到结果,典型代表为随机森林,能有效降低方差。
2.5.2 Boosting
Boosting通过串行训练基学习器,每次调整样本权重以纠正前一轮错误,典型算法有AdaBoost、梯度提升树(GBDT)、XGBoost,能降低偏差。
3 深度学习与神经网络
3.1 神经网络基础
3.1.1 感知机
感知机是最简单的人工神经网络,由输入层和输出层组成,只能处理线性可分问题,是后续复杂网络的基础。
3.1.2 多层感知机
多层感知机(MLP)在输入输出间加入一个或多个隐藏层,使用激活函数引入非线性,可逼近任意连续函数。
3.1.3 激活函数
激活函数为神经元提供非线性变换,常见有Sigmoid、Tanh、ReLU及其变体(Leaky ReLU、ELU等),ReLU因其缓解梯度消失而广泛使用。
3.2 深度网络架构
3.2.1 卷积神经网络
卷积神经网络(CNN)利用卷积核提取局部特征,通过池化层降低维度,适用于图像、视频等网格状数据,经典网络有LeNet、AlexNet、ResNet。
3.2.2 循环神经网络与LSTM
循环神经网络(RNN)通过隐藏状态处理序列数据,但存在长期依赖问题。长短时记忆网络(LSTM)引入门控机制有效捕获长程依赖,常用于时间序列和文本。
3.2.3 生成对抗网络
生成对抗网络(GAN)由生成器和判别器对抗训练,生成器学习生成逼真数据,判别器区分真假,广泛应用于图像生成、风格迁移。
3.2.4 Transformer
Transformer依赖自注意力机制并行处理序列,摒弃循环结构,成为自然语言处理主流,衍生出BERT、GPT等大模型,并扩展到视觉等领域。
3.3 训练技术
3.3.1 反向传播与梯度下降
反向传播计算损失函数对各层参数的梯度,梯度下降沿负梯度方向更新参数。随机梯度下降(SGD)及其变体(Mini-batch SGD)是核心优化方法。
3.3.2 正则化方法
正则化防止过拟合,包括L1/L2正则化(权重衰减)、Dropout随机丢弃神经元、早停(Early Stopping)、数据增强等。
3.3.3 优化器
优化器改进梯度下降过程,常用有动量(Momentum)、AdaGrad、RMSProp、Adam(结合动量与自适应学习率),Adam因鲁棒性广泛应用。
4 开发流程与工具
4.1 数据预处理
4.1.1 数据清洗
处理缺失值(删除或插补)、异常值、重复数据,确保数据集质量。
4.1.2 特征工程
通过特征构建、特征选择、特征编码(如独热编码)等方法提取有效信息,提升模型性能。
4.1.3 数据标准化与归一化
将特征缩放到统一量纲,常用Z-score标准化(均值为0,标准差为1)和Min-Max归一化(映射到[0,1]),避免量纲影响。
4.2 模型选择与训练
根据任务类型(分类、回归等)选择候选算法,划分训练集和验证集,通过迭代训练调整参数。
4.3 模型评估与调优
4.3.1 交叉验证
将数据分为k份,轮流用k-1份训练、1份验证,重复k次取平均,减少评估偏差,常见k=5或10。
4.3.2 超参数搜索
通过网格搜索、随机搜索或贝叶斯优化寻找最佳超参数组合(如学习率、树深度)。
4.3.3 评估指标
分类常用准确率、精确率、召回率、F1分数、AUC-ROC;回归常用均方误差(MSE)、平均绝对误差(MAE)、R²。
4.4 常用开发框架
4.4.1 TensorFlow
由Google开发的开源框架,支持静态图和动态图(Eager Execution),生态丰富,适合生产部署。
4.4.2 PyTorch
由Facebook开发,动态计算图设计灵活,调试直观,研究社区广泛应用,逐渐成为深度学习主流框架。
4.4.3 Scikit-learn
基于Python的经典机器学习库,提供统一的API和大量传统算法(如SVM、随机森林、K-means),适合快速原型开发。
5 应用领域
5.1 计算机视觉
机器学习在图像分类、目标检测、语义分割、人脸识别等任务中表现优异,广泛应用于安防、医疗影像、自动驾驶。
5.2 自然语言处理
机器翻译、情感分析、问答系统、文本生成等依赖语言模型,Transformer架构大幅提升了性能,代表应用有ChatGPT、机器翻译工具。
5.3 推荐系统
电商、视频平台利用协同过滤、矩阵分解、深度学习模型预测用户偏好,实现个性化推荐,提升用户体验。
5.4 医疗健康
辅助诊断(如X光片分析)、药物发现、基因序列分析、健康监测等,机器学习帮助提高诊断效率和准确性。
5.5 金融风控
信用评分、欺诈检测、量化交易、反洗钱等场景,模型用于识别异常交易和评估风险。
5.6 自动驾驶
感知(识别道路、行人、车辆)、决策(路径规划)和控制环节均依赖机器学习,结合传感器数据实现安全自动驾驶。
6 挑战与未来方向
6.1 数据隐私与安全
训练数据可能包含敏感信息,如何在不泄露隐私的前提下训练模型成为重要课题,差分隐私、同态加密等技术正在探索。
6.2 可解释性
深度模型常被视为黑箱,缺乏透明性,可解释人工智能(XAI)致力于让模型决策过程可理解,增强信任和监管合规。
6.3 小样本学习
现实中高质量标注数据稀缺,研究如何从少量样本中泛化是重要方向,元学习、数据增强等方法被用于缓解数据不足。
6.4 联邦学习
联邦学习允许多个参与方在不共享原始数据的情况下协同训练模型,保护数据隐私,已应用于医疗、金融等敏感领域。
6.5 通用人工智能趋势
当前机器学习模型多为专用,通用人工智能(AGI)追求跨任务、跨领域的自主学习能力,大语言模型(如GPT-4)展现出一定通用潜力,但距离真正AGI仍有差距。