ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

人工智能专业课 机器学习(1)——导论

人工智能专业课 机器学习(1)——导论 本文依照《机器学习从原理到应用》卿来云、黄庆明编著2020 年第一版的目录顺序整理为期末复习系列的第一篇。相较原提纲版本文对五个核心考点做了系统扩充补充对比表格、直觉解释、关键公式与自测题。〇、本章知识地图本章回答机器学习学科的五个基础问题1. 学习范式如何划分 → 监督学习 vs 无监督学习2. 学习在数学上是什么 → 假设空间中的搜索 目标函数的优化3. 模型好坏如何权衡 → 模型复杂度与预测误差欠拟合/过拟合4. 选择模型的哲学准则 → 奥卡姆剃刀原理5. 如何求解最优参数 → 常用优化技术梯度下降家族、牛顿法家族五个问题层层递进先分清学什么再理解怎么表示学习问题进而讨论学到什么程度算好最后落到怎么算出来。一、监督学习与无监督学习的区别可从定义与核心思想、训练数据、学习目标、常见算法、应用场景五个方面论述。1.1 定义与核心思想监督学习Supervised Learning利用一组已知类别的样本调整分类器的参数使其达到所要求性能的过程。核心思想是学习输入与输出之间的映射关系从而对新的输入预测其对应输出。无监督学习Unsupervised Learning使用未标记的数据进行训练模型自主地从数据中发现隐藏的结构、关系或规律。核心思想是探索数据的内在结构不依赖外部标签。1.2 训练数据的差异监督学习无监督学习输入样本✔✔标签/输出值✔✘数据来源要求需要标注成本较高无需标注获取容易监督学习中模型以标签为标准答案校正自身无监督学习中模型只能依靠数据自身的分布特性提取信息。1.3 学习目标监督学习构建一个能对新的未标记数据进行预测或分类的模型无监督学习从数据中推断隐藏的结构、关系或规律。1.4 常见算法监督学习决策树、支持向量机SVM、朴素贝叶斯、K 最近邻KNN、线性回归、逻辑回归Logistic 回归、随机森林、梯度提升GBDT等无监督学习聚类算法K 均值聚类、层次聚类、DBSCAN、主成分分析PCA、关联规则挖掘Apriori、FP-Growth、异常检测算法等。1.5 应用场景监督学习分类任务垃圾邮件识别、图像识别、回归任务房价预测、股票价格预测等无监督学习聚类任务客户细分、市场分割、降维任务数据可视化、特征提取、异常检测欺诈检测、故障预警等。1.6 补充两种范式之外考试中若要求论述机器学习的主要范式可补充以下两类体现知识面半监督学习少量标注数据 大量未标注数据联合训练适用于标注成本高的场景如医学影像强化学习智能体在与环境的交互中通过奖励信号学习策略没有静态的训练集典型应用为棋类博弈、机器人控制。二、假设空间与目标函数2.1 假设空间Hypothesis Space定义所有可能假设的集合这些假设是模型对数据潜在规律的表示。模型本质上是一个从输入空间到输出空间的映射函数因此假设空间实际上就是模型空间即函数集合。特点假设空间的规模可能非常大甚至无穷大取决于输入空间与输出空间的维度以及可能的函数形式。监督学习的目标就是从假设空间中找出一个能最好地拟合训练数据的模型。直觉理解假设空间界定了模型最多能表达什么。例如用线性模型拟合具有周期性规律的数据无论如何优化参数都无法成功——因为真实规律根本不在假设空间之内。这解释了为什么模型选择先于参数优化。2.2 版本空间Version Space版本空间是假设空间的一个子集包含所有能够正确分类训练样本的假设。随着训练数据的增加不满足新样本的假设被逐个排除版本空间逐渐收缩但即便如此其中仍可能包含大量假设。考试常考点版本空间中剩余多个假设时必须引入归纳偏好Inductive Bias才能在它们之间做出选择——这是没有免费的午餐定理No Free Lunch Theorem讨论的内容其含义是脱离具体问题不存在普适最优的学习算法。2.3 目标函数Objective Function定义衡量模型好坏的函数是模型参数的函数。机器学习的目标就是找到一组参数使目标函数达到最优。组成目标函数通常包括两部分经验损失Empirical Loss衡量模型在训练数据上的表现如均方误差、交叉熵结构损失Structural Loss即正则化项惩罚模型复杂度防止过拟合常见形式为 L1 范数促进稀疏与 L2 范数抑制过大的参数值。记忆要点经验损失回答学得像不像结构损失回答复杂不复杂二者之和回答了好不好。三、模型复杂度与预测误差的关系3.1 总体规律模型复杂度由低到高变化时预测误差呈现先降后升的趋势训练误差随复杂度增加单调下降测试泛化误差先降后升最低点即最优复杂度。3.2 欠拟合Underfitting定义模型在训练数据上表现不佳未能学习训练数据中的内在模式或规律。原因模型复杂性不足无法捕获数据中的复杂结构或非线性关系特征选择不当未选到足够有效或相关的特征训练数据量过少模型无法学习到足够的模式。解决方法增加模型复杂性使用更多参数、更复杂的模型结构或非线性模型添加更多与预测目标相关的特征收集更多训练数据或使用数据增强技术。3.3 过拟合Overfitting定义模型在训练数据上表现很好但在测试数据上表现较差。模型过度学习了训练数据的细节与噪声导致泛化能力下降。原因模型参数过多、结构过于复杂记住了训练数据的噪声和细节相对于模型复杂性训练数据量太少训练过程中过度优化。解决方法减少模型参数使用更简单的模型结构添加正则化项以惩罚模型复杂度呼应 2.3 节的结构损失收集更多训练数据或使用数据增强。3.4 补充偏差—方差权衡Bias–Variance Tradeoff泛化误差可分解为三部分这是理解欠拟合与过拟合的统一框架偏差Bias模型预测的平均值与真实值之间的差距反映模型的拟合能力。偏差大 → 欠拟合方差Variance训练集变动时模型预测的波动程度反映模型对数据的敏感程度。方差大 → 过拟合噪声Noise数据本身的不可约误差任何模型都无法消除。降低偏差通常需要更复杂的模型而这又会增大方差二者不可兼得故称权衡。答题时给出此公式并解释三项含义属于高分答案。上图为偏差—方差的经典靶心示意黑点为靶心真实值红点为同一模型在不同抽样数据集上的预测落点。左上的低偏差、低方差是理想状态右上的预测围绕靶心但散布大对应过拟合左下的预测集中但整体偏离靶心对应欠拟合。3.5 补充过拟合的常用对策清单除上述三点外实际中还有三类常用手段交叉验证Cross-Validation将数据划分为 k 折轮流训练与验证更可靠地估计泛化性能早停Early Stopping监控验证集误差在其开始上升时终止训练Dropout神经网络训练时随机屏蔽部分神经元降低节点间的共适应关系。四、奥卡姆剃刀原理奥卡姆剃刀原理由 14 世纪逻辑学家奥卡姆的威廉提出核心思想为如无必要勿增实体Entities should not be multiplied unnecessarily。在机器学习中它是一条基本准则可解释为在实现目标函数最优时既要要求模型与训练数据拟合得好又要要求模型尽可能简单。4.1 与其他考点的联系奥卡姆剃刀是正则化的哲学依据结构损失项正是简单性要求的数学化表达它是模型选择的指导原则两个模型在验证集上性能相当时选择假设更简单的那个需要指出简单不等于好奥卡姆剃刀的前提是同等拟合能力。答题时加上此前提表述才严谨。五、常用的优化技术确定了目标函数之后需要数值方法求解最优参数。常用优化技术主要包括以下几类5.1 梯度下降法Gradient Descent最早、最简单也最常用的优化方法。基本思想是通过迭代最小化目标函数每次迭代计算目标函数关于参数的梯度并沿负梯度方向更新参数。参数更新公式其中为学习率控制每步的更新幅度过大会震荡甚至发散过小则收敛缓慢。扩展梯度下降的三个变体了解即可常作为加分点变体每次更新所用数据特点批量梯度下降BGD全部训练样本方向准确但大数据下计算昂贵随机梯度下降SGD单个样本快但有噪声更新轨迹震荡小批量梯度下降Mini-batch一小批样本二者的折中实践中的默认选择5.2 牛顿法Newtons Method利用目标函数的一阶导数和二阶导数信息求解最优解。每一步迭代在当前点构建二次模型泰勒二阶展开求解该二次模型的极小点作为新的迭代点。优点具有二阶收敛性收敛速度通常远快于梯度下降缺点需要计算二阶导数 Hessian 矩阵及其逆矩阵计算量大参数维度高时不可行且 Hessian 矩阵可能不可逆或计算不稳定。5.3 拟牛顿法Quasi-Newton Methods对牛顿法的改进通过近似Hessian 矩阵或其逆矩阵来简化计算仅需一阶导数信息即可实现超线性收敛计算量相对较小因此实际应用比牛顿法更广泛。代表算法BFGS、L-BFGSBFGS 的限量存储版本适用于大规模问题。sklearn 中逻辑回归的默认求解器lbfgs即来源于此——这是一个可以在答题时引用的实例。5.4 共轭梯度法Conjugate Gradient适用于求解大规模线性方程组和某些非线性优化问题的迭代方法。通过构建一系列共轭方向搜索最优解各搜索方向互不干扰从而更快收敛。对二次函数优化问题特别有效计算量相对较小。5.5 四类方法对比建议记表方法所需信息收敛速度单次迭代成本适用场景梯度下降一阶导数线性收敛低通用大规模问题首选牛顿法一阶 二阶导数二阶收敛高Hessian 求逆小规模、强凸问题拟牛顿法一阶导数近似二阶超线性中中等规模问题共轭梯度一阶导数超线性二次问题低大规模二次问题附代码实践动手 10 分钟用多项式回归直观验证第 3.1 节的复杂度—误差曲线同一批数据上分别拟合 1 阶、3 阶、15 阶多项式观察训练集与测试集得分的分化。import numpy as np from sklearn.pipeline import make_pipeline from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split rng np.random.RandomState(0) X np.sort(rng.rand(60, 1) * 5, axis0) y np.sin(X).ravel() rng.normal(0, 0.2, 60) # 正弦规律 噪声 X_train, X_test, y_train, y_test train_test_split(X, y, random_state0) for degree in [1, 3, 15]: model make_pipeline(PolynomialFeatures(degree), LinearRegression()) model.fit(X_train, y_train) print(fdegree{degree:2} 训练R2{model.score(X_train, y_train):.3f} f测试R2{model.score(X_test, y_test):.3f})预期现象与 3.1 节曲线一一对应degree1训练、测试得分都低 →欠拟合偏差大degree3测试得分最高 → 接近最优复杂度degree15训练得分接近 1测试得分骤降 →过拟合方差大。六、本章自测题从五个方面论述监督学习与无监督学习的区别。答案见第一节什么是假设空间什么是版本空间二者有何关系目标函数由哪两部分组成各自的作用是什么画图说明模型复杂度与训练误差、测试误差的关系并标注欠拟合区与过拟合区。用偏差—方差分解解释欠拟合与过拟合。奥卡姆剃刀原理在机器学习中的含义是什么它与正则化有何联系比较梯度下降法与牛顿法的优缺点说明拟牛顿法的改进思路。为什么说脱离具体问题不存在普适最优的学习算法提示NFL 定理与归纳偏好七、复习建议五个考点中一、三、五为高频考点务必达到能默写对比表的程度二、四以理解为主答题时重在与正则化、模型选择建立联系涉及关系区别类题目优先用表格组织答案条理清晰且不易遗漏采分点公式只需记住两个目标函数 经验损失 结构损失泛化误差 偏差² 方差 噪声。理解含义比背推导过程更重要。
返回列表