[吃瓜笔记]第1章&第2章
第1章 绪论
1.1 引言

如图1.1
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。
可以说机器学习是研究“学习算法”的学问。
1.2 基本术语
数据集 data set
示例/样本 instance/sample
属性/特征 attribute/feature
属性值 attribute value
属性空间/样本空间 attribute/sample space
一个示例 = 一个特征向量(feature vector)
标记 label 经验结果,即已获得的正确结果
标记空间 label space
预测离散值→分类 classification
预测连续值→回归 regression
测试
聚类 clustering:无标签自动分类样本,分出的每组称为一个“簇”(cluster)
根据样本是否有标记信息分为两大类,分别为监督学习(supervised learning,代表:分类、回归)和无监督学习(unsupervised learning,代表:聚类)
泛化(generalization):学得模型适用于新样本的能力
通常假设全体样本服从一个位置分布D(Distribution),而且我们获得的每个样本都是独立地从这个分布上采样获得的,即独立同分布(independent and identically distributed, i.i.d.)
1.3 假设空间
归纳(induction) = 泛化
演绎(deduction) = 特化
概念学习中最基本的是布尔概念学习(yes or no)
版本空间(version space) = 假设集合
假设空间包含版本空间,版本空间是在假设空间中能满足特定问题的假设集合
1.4 归纳偏好
归纳偏好(inductitve bias):机器学习算法在学习过程中对某种类型假设的偏好
奥卡姆剃刀:选最简单的模型
没有免费的午餐定理(No Free Lunch Theorem, NFL)告诉我们,学习算法自身的归纳偏好与问题是否匹配,起到决定性的作用
1.5 发展历程
这一节介绍了从1950年至今,机器学习的主流技术的变化历程。按照时间顺序,出现过以下机器学习主流技术:
连接主义:基于神经网络
符号主义:基于逻辑表示
统计学习:代表性技术是SVM
现如今,连接主义又卷土重来。
1.6 应用现状 & 1.7 阅读材料
笔记略。
感想:现阶段,以各大模型为代表的深度学习领域的发展及其迅速,各行业都在努力拥抱深度学习的发展以适应时代需求。而深度学习本身又应该如何发展呢?它本身的发展也是我们对智能的要求,不仅会写,还要会听、看,不仅能完成重复性高的动作,还要完成创造性的工作。它本身是朝着多模态,也就是越来越复杂的方向进化的。它是人类的创造物。我们需要它模仿人类的行为,这就必然要求我们要研究清楚我们自身的机理,再去让它进化,就像深度学习在模仿人类大脑的神经元。私以为,就像各个行业都在追求与大模型的交叉,而它本身,也需要和生物学交叉。
第2章 模型评估与选择
2.1 经验误差与过拟合
精度 = (1-a/m) *100%
其中,a为分类错误的样本个数;m为样本总数。
误差(指误差期望/均值):学习器的实际预测输出与样本的真实输出之间的差异。
训练误差/经验误差:学习器再训练集上的误差。
泛化误差:学习器在新样本上的误差。
过拟合:学习器把训练样本自身的特点当作所有潜在样本的特点
过拟合会导致泛化能力下降。
欠拟合:与过拟合相对,对训练样本的一般性质尚未学好。
欠拟合较容易解决(增加训练轮数等),而过拟合很麻烦。有多种因素可能导致过拟合,最常见的时学习能力过于强大(学习能力由学习算法和数据内涵共同决定),以至于把训练集中不太一般的特性都学到了。
过拟合无法彻底避免,我们只能缓解或者减小风险。
不同的学习算法+不同的参数配置=不同的模型(模型是实例化的,算法是抽象的)
2.2 评估方法
2.2.1 留出法
把数据集划分为两个集合,一个训练集和一个测试集。
做法:一般采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。一般将2/3~4/5的样本用于训练,剩下的用于测试。
2.2.2 交叉验证法
k折交叉验证就是把数据集分为k个子集,要进行k次训练。
p次k折交叉验证,要随机使用不同的划分p次,每一次都要进行k折交叉验证,共训练p*k次。
当k=m(数据集中的样本数)时,称为留一法。留一法的评估结果往往被认为比较准确。
2.2.3 自助法
在包含m个样本的数据集中随机抽取m次,每次抽取一个样本并放回,抽取的样本组成训练集,没有出现过的样本组成测试集。自助法的测试结果称为“包外估计”。
自助法在数据集较小,难以有效划分训练/测试集时很有用;对集成学习有很大的好处。但会引入估计偏差。所以在数据量足够时,留出法和交叉验证更好。
2.2.4 调参与最终模型
用于选择模型的数据为“验证集”。在实际使用中遇到的数据称为“测试数据”。
2.3 性能度量
性能度量:衡量模型泛化能力的评价标准。
性能度量反映了任务需求,使用不同的性能度量往往会导致不同的评判结果;这意味着模型的“好坏”是相对的。模型的“好坏”,取决于算法和数据,以及任务需求。
回归任务最常用的性能度量是“均方误差”。
2.3.1 错误率与精度
该小节给出了错误率与精度的一般公式。
2.3.2 查准率、查全率与F1
查准率:模型认为是正例的准确率是多少
查全率:所有的正例里,模型的准确率是多少
F1:以上两者的平均调和。

本来想打一个F1的公式,不知为何打不上,那就不打了。就记住,平均调和不是平均数。后面内容先跳过,以后再填。