文章目录
⏱️ 预计阅读时间:30-40分钟
🎯 学习目标:学会怎么让机器从数据中学习规律,怎么根据数据特点选择学习方式,怎么确保模型在新数据上也能表现好
📚 核心结论(塔尖):四个核心要素+三种学习范式+评价与泛化,在拟合和泛化之间找到平衡
机器学习解决的核心问题是怎么让机器从大量数据中自动学习规律,从而对新样本做出决策。
1. 四个核心要素:数据、模型、准则、算法,构建学习系统
2. 三种学习范式:有监督、无监督、强化学习,根据数据特点选择
3. 评价与泛化:在拟合训练数据和泛化到新数据之间找到平衡点
通过区分经验风险和期望风险,设计合适的评价指标和数据集划分策略,使用正则化等技术平衡模型复杂度和泛化能力,在拟合训练数据和泛化到新数据之间找到平衡点。
那么,怎么用四个核心要素构建机器学习系统?怎么根据数据特点选择合适的学习范式?怎么确保模型在训练数据上表现好的同时,在未知数据上也能表现好?这些正是本文要解决的核心。
一、四个核心要素:构建机器学习系统的基础
首先需要明确四个核心要素:数据提供学习的样本(就像学习的教材),模型表示学到的规律(就像学习的知识),准则定义学习的目标(就像考试的标准),算法实现优化的过程(就像学习方法)。
1. 数据:提供学习的样本,根据标签类型选择学习方式
数据是机器学习的来源,包含输入和输出(或标签)。就像学习的教材,通过观察大量数据来理解规律。有标签数据用于有监督学习(就像有标准答案的题目),无标签数据用于无监督学习(就像没有标准答案的探索),环境状态和奖励用于强化学习(就像通过试错学习)。
2. 模型:表示学到的规律,属于某个假设空间
模型表示从数据中学习到的规律,是一个函数或映射。就像学习的知识,用模型来表示学到的规律。模型属于某个函数的集合,称为假设空间,不同的假设空间表示不同的模型类型,就像不同的工具箱,每个工具箱里有不同的工具。
3. 准则:定义学习目标,根据学习范式不同而不同
准则定义什么是学得好,怎么评价学习效果。就像考试的标准,用来判断学习是否成功。
- 有监督学习通过误差(预测值与真实值的差异)来评价,就像看预测和标准答案差多少;
- 无监督学习通过数据的内在结构来评价,就像看是否发现了数据的模式;
- 强化学习通过奖励信号来评价,就像看是否获得了奖励。
4. 算法:实现优化过程,自动找到最优模型
算法实现从假设空间中选取最优模型的过程,通过优化准则来改进模型。就像学习方法,通过不断调整来提升学习效果。算法将学习过程自动化,通过优化算法找到最优模型,就像自动找到最好的学习方法。
二、三种学习范式:根据数据特点选择学习方式
1. 有监督学习:有老师指导,通过最小化预测误差学习输入到输出的映射
学习目标是建立输入到输出的映射关系,通过最小化预测误差来优化模型。就像有老师指导的学习,给你题目和标准答案,你学习如何解题。
有监督学习的数据监督程度强(每个样本都有明确标签),学习目标是拟合(学习输入到输出的映射),学习信号是明确标签(直接告诉模型正确答案),样本之间独立,优化方式是静态误差最小化(在训练集上最小化预测误差)。学习结果是分类器、回归器(能够对新样本做出预测的模型),就像学会了如何解题。
2. 无监督学习:自己观察总结,通过概率建模或对比学习发现数据的内在结构
学习目标是发现数据的内在结构(如聚类、降维),通过概率建模或对比学习来优化模型。就像自己观察总结,没有标准答案,你发现数据中的模式和规律。
无监督学习的数据监督程度无(没有任何标签或反馈),学习目标是表征/生成(发现数据的内在结构或生成新数据),学习信号是内在结构(从数据本身发现模式),样本之间独立,优化方式是概率建模或对比学习(通过建模数据分布或对比相似性来学习)。学习结果是聚类中心、潜变量(能够表征数据结构的模型),就像发现了数据的模式。
3. 强化学习:通过试错学习,通过动态最优控制找到最优策略
强化学习就像通过试错学习,做对了有奖励,做错了有惩罚,逐步学会最优策略。
- 强化学习的数据监督程度弱(延迟反馈,不是每个动作都有奖励),
- 学习目标是决策(学习在什么状态下采取什么动作),
- 学习信号是环境奖励(通过试错获得反馈),
- 样本之间连续状态转移(当前状态依赖之前的状态和动作),
- 优化方式是动态最优控制(考虑长期累积奖励的最优化)。
- 学习结果是策略或价值函数(能够做出最优决策的模型),就像学会了最优策略。
三、评价与泛化:从训练到应用的桥梁
模型在训练数据上表现好,不等于在未知数据上也能表现好。就像学生只记住了练习题答案,但遇到新题目就不会做了。这是因为训练数据只是真实数据的一个小子集,可能包含噪声,模型可能过度记忆训练数据的细节而忽略了真正的规律。
1. 数据集划分策略:训练集学习参数,验证集调参,测试集评估性能
将数据划分为训练集、验证集、测试集,训练集用于学习模型参数,验证集用于调整超参数和选择模型,测试集用于最终评估模型性能。就像考试前需要做练习题(训练集)、模拟考试(验证集)和正式考试(测试集)。
训练集用于学习模型参数,模型会"看到"这些数据,就像用练习题来学习;验证集用于调整超参数和选择模型,模型不会直接学习这些数据,就像用模拟考试来调参;测试集用于最终评估,模型完全不会"看到"这些数据,就像用正式考试来评估。当数据量小时,通过交叉验证更充分地利用数据,就像把数据分成几份,轮流做训练和验证。
2. 评价指标策略:根据任务类型选择合适指标,单一指标无法全面反映性能
根据任务类型选择合适的评价指标,分类任务用准确率、精确率、召回率、F1分数等,回归任务用均方误差、平均绝对误差等。就像不同的考试需要不同的评分标准,选择题看准确率,作文看综合评分。
不同的任务关注不同的方面,单一指标可能无法全面反映模型性能,需要选择合适的指标来指导模型优化。
- 准确率反映整体正确率(所有预测中正确的比例),
- 精确率反映预测为正例中真正例的比例(预测为正的里面有多少是真的),
- 召回率反映真正例中被预测为正例的比例(真的正例中有多少被预测到了),
- F1分数是精确率和召回率的调和平均(综合考虑精确率和召回率)。
3. 正则化策略:限制模型复杂度,防止过拟合,提高泛化能力
通过添加正则化项来限制模型复杂度,防止过拟合,提高泛化能力。就像给学生设置学习范围,不能只记住题目,要理解原理,这样遇到新题目也能做。
复杂模型容易过拟合训练数据,在训练集上表现好但在新数据上表现差,需要通过正则化来平衡模型复杂度和泛化能力。
- L1正则化倾向于产生稀疏模型(很多参数为0),用于特征选择,就像只保留重要的特征;
- L2正则化倾向于产生平滑模型(参数值较小),用于防止过拟合,就像让模型更平滑;
- 数据增强通过增加训练数据的多样性来提高泛化能力,就像增加更多变化的题目;
- 提前停止当验证集性能不再提升时停止训练,防止过拟合,就像看到模拟考试成绩不再提高就停止学习。
4. 结构风险最小化:既要考高分,又要理解知识,平衡拟合和泛化
在经验风险最小化的基础上,引入模型复杂度的惩罚项,形成结构风险最小化准则。就像不仅要考高分(经验风险小,练习题做得好),还要理解知识(模型复杂度适中,不能只记住题目)。
单纯最小化经验风险容易导致过拟合(只记住题目),需要同时考虑模型复杂度,在拟合能力和泛化能力之间找到平衡。
经验风险是模型在训练集上的平均损失(练习题做得好不好),结构风险是经验风险加上模型复杂度惩罚项(既要做得好又要理解),复杂度惩罚通过正则化项来惩罚复杂模型(不能太复杂)。从贝叶斯视角看,正则化等价于引入参数的先验分布,使模型不完全依赖训练数据(不完全依赖练习题)。
比如,你想预测房价。如果模型太复杂(比如有1000个参数),它可能会记住训练数据里每个房子的具体价格,但遇到新房子就预测不准。如果模型太简单(比如只有1个参数),它可能连训练数据都拟合不好。
结构风险最小化帮你找到平衡:模型既能在训练数据上表现好,又不会太复杂,这样在新数据上也能表现好。
从贝叶斯视角看:正则化就像你学习前有一些"先验知识"(比如"房价主要看面积和位置"),不完全依赖练习题。这样即使练习题很少,你也能学得不错。
四、方法选择:根据数据特点权衡
在实际选择时,你需要在几个方面权衡:
- 在数据量和学习效果之间权衡(数据越多效果越好,但需要更多数据),
- 在模型复杂度和泛化能力之间权衡(模型太复杂容易过拟合,太简单能力不足),
- 在拟合和泛化之间权衡(既要拟合训练数据,又要泛化到新数据),
- 在监督程度和学习难度之间权衡(有监督容易学,无监督和强化学习更难)。
设计机器学习算法的核心就是在这些维度之间找到平衡点。没有完美的算法,只有适合不同场景的算法。
561

被折叠的 条评论
为什么被折叠?



