ch.1
- 分类和回归属于监督学习,聚类属于无监督
- 机器学习三要素:模型,策略,算法(如梯度下降)
模型 描述的是一组从输入到输出的映射关系的函数表示。
策略:如何判断模型好坏。 策略描述了学习的目标函数,通过什么样的准则使学习的方向最终逼近最终的优化目标从而能够从假设空间中选取最优的模型。一般采用损失函数或代价函数来对模型的好坏进行度量。
算法:如何求解模型的参数。 高中知识告诉我们,通常来说,最小值必然是极值点,而连续函数的极值点可以通过求一阶导数并令导数等于0,最后找到值最小的极值点,就是最小值点。而在机器学习中,由于目标函数的复杂性,高中的解法绝大多数情况行不通,这个时候需要一些别的算法。机器学习求解目标函数常用的算法有最小二乘法、梯度下降法(属于迭代法的一种),最小二乘法针对线性模型,而梯度下降法适用于任意模型,适用最为广泛。
- 机器学习的目标:学得到的模型适用于“新样本”(泛化能力强)
ch.2
- 指标:错误率、精度的计算
错误率是分错占总(测试样本中分类错误的样本数占总样本数的比例),精度是分对占总(测试样本中分类正确的样本数占总样本数的比例。)
- 什么是泛化误差和经验误差
泛:在未来样本的误差
经:=训练误差,训练集上的误差
- 用添加正则项(惩罚项)来解决过拟合
- 并不是加了正则项原来模型的性能就一定能提升。
为什么? - 如何找到一个合适的模型?
三个关键问题:模型评估,性能度量,比较检验
- 评估方法(三种分割测试集训练集的方法,重点交叉验证的过程)
- 留出法
- 交叉验证法,分10次,每个片段都有机会作为测试集
- 自助法
有放回采样,测试集和样本是一样的。
- 性能度量(回归的和分类的,重点:错误率精度、查准率和查全率,混淆矩阵)
回归使用均方误差
分类使用下面的:
错误率和精度看第一条
查准率:预测结果正例里有多少个真的正的?
查全率:有多少个真的正的被预测对了?
-
泛化误差,偏差方差噪音的公式
-
Boosting和bagging关注的分别是偏差bias和方差variance。为什么?
boosting是把许多弱的分类器组合成一个强的分类器。弱的分类器bias高,而强的分类器bias低,所以说boosting起到了降低bias的作用。variance不是boosting的主要考虑因素。
bagging是对许多强(甚至过强)的分类器求平均。在这里,每个单独的分类器的bias都是低的,平均之后bias依然低;而每个单独的分类器都强到可能产生overfitting的程度,也就是variance高,求平均的操作起到的作用就是降低这个variance。
作者:王赟 Maigo
链接:https://www.zhihu.com/question/26760839/answer/34178436
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
补充:(帮助理解,看不看无所谓)
偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据, 如下图第二行所示。
方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如下图右列所示。
ch.3 逻辑回归
- logistics表达式
逻辑回归=对数几率回归=对律回归
- 模型输出的含义:x的标签为1的可能性
- 多分类任务:一对多,一对一策略
- 极大似然估计
ch.4 决策树
- 划分规则:信息增益重点,ID3算法/过程
ID3算法: 在决策树递归构建过程中,以信息增益为准则来选择划分属性;
- 减小过拟合:剪枝
剪枝方法和程度对决策树泛化性能的影响更为显著.
为了尽可能正确分类训练样本,有可能造成分支过多
可通过主动去掉一些分支来降低过拟合的风险
基本策略:
• 预剪枝 (pre-pruning): 在决策树生成过程中,对每个节点在划分之前先进行估
计,若当前节点的划分不能带来决策树泛化性能提升, 则停止划分,并将当前
节点标记为叶节点;
• 后剪枝 (post-pruning): 先从训练集生成一颗完整的决策树,然后自底向上对非
叶子结点进行考察,若将该结点对应的子树替换为叶子节点能带来决策树泛化
性能提升,则将该子树替换为叶结点。
- 决策树的构建计算不考
- 处理连续样本值:连续属性离散化的基本思路和常见做法,过程不用看
what? 比如西瓜数据中的密度数据
how?基本思路:连续属性离散化,常见做法:二分法
比如密度有n个值,我们可以计算相邻两个数值的平均值,于是就会得到n-1个候选值,把它们作为划分依据,大于这个值得一类,小于这个值得另一类。
ch.5 神经网络
- 神经元模型,公式
神经元:神经网络的基本单元
生物学:
计算机:
策略:
符号含义:
- 神经网络的知识蕴含在链接权重和阈值中
- 神经网络的学习过程,概念
利用事先提供的训练数据(学习数据)来确定权重和偏置,这在神经网络中称为学习。
学习的逻辑非常简单,使得神经网络算出的预测值与学习数据的正解(实际值)的总体误差达到最小即可。
- 根据BP结构图,计算:有多少个链接权重参数,多少个阈值
- BP算法的过程:输出→梯度项→连接权和阈值,用自己的话表述出来
一文弄懂神经网络中的反向传播法——BackPropagation
步骤:
- 首先正向传播得到当前样本的预测值
- 与实际值比较得到本次迭代的均方误差
- 然后基于梯度下降策略对参数(权重&阈值)进行调整。
任意参数的更新公式 v=v+△v
- BP对付过拟合:早停和正则化
早停:若训练集误差降低但验证集误差升高(其实就是过拟合了),则停止训练,然后返回具有最小验证集误差的权重和阈值。
正则化:增加一个描述网络复杂度的部分,比如下面这个误差目标函数公式中添加了连接权与阈值的平方和(wi):
- 感知机,只能解决线性问题,与或非,不能异或运算,给一个网络图,根据参数推导出能进行什么运算
ch.6 SVM
- 点到超平面的距离公式
w为法向量,b为位移项,决定了超平面与原点之间的距离。 - SVM的计算例题
解题步骤转载自小崔的博客,在此跪谢
- 解决线性不可分:映射到更高纬空间,尝试在这个空间可分——>引入核函数
- 常用的核函数
(这个表格不用背,看一眼就行)
核函数选择成为svm的最大变数
经验:文本数据使用线性核,情况不明使用高斯核 - 正则化,惩罚参数C,与λ相反
这个公式不需要背,只需要知道:惩罚参数C越大表示对误分类的惩罚越大,这可能会存在过拟合;C越小相对正看重正则化项,就可能会存在欠拟合。这与ch.5-6中的公式的λ相反,λ越大,越关注正则化项,越容易欠拟合。
- 加上正则项,性能不一定提升
- L0 L1范数的含义
L0、L1范数即L0、L1正则化,是两种不同的损失函数中的惩罚项方法。
L0范数是指向量中非0的元素的个数。
L1范数是指向量中各个元素绝对值之和。
L2范数是指向量各元素的平方和然后求平方根。
深入理解L1、L2正则化 - 改变支持向量会影响SVM结果
- 模型由支持向量决定
ch.7 贝叶斯
-
贝叶斯 定理的计算
-
朴素贝叶斯的假设条件:假设所有属性相互独立
-
计算,朴素贝叶斯分类西瓜数据集3
完整步骤:
- 为了防止某个在训练集中没有出现过的类在上述计算过程中捣乱(连乘概率值为0),将使用拉普拉斯修正。
ch.8 集成学习
- boosting的工作过程
boosting是把许多弱的分类器组合成一个强的分类器,想象火箭发射升空越飞越高,boosting也使得弱分类器越来越强。它的基本工作思想是“知错就改,环环相扣”,那些比较难学的特征(每次都被分类器分错的特征)要被多次学(boost),这些特征的权重相应的就大。 - bragging的思想是降低方差
ch.2-9 - 多样性扰动
在集成学习中需有效地生成多样性大的个体学习器(变着花样构建不同的树),因为根据研究,多样性越大, 则集成效果越好。与简单地直接用初始数据训练出个体学习器相比,如何增强多样性呢?一般思路是在学习过程中引入随机性,常见做法主要是对数据样本、输入属性、输出表示、算法参数进行扰动。 - 属性选择的随机性,重要
这是随机森林的一个知识点。
随机森林是用于分类,回归和其他任务的集成学习方法,就是构建好多个树,然后进行少数服从多数的决策。多个决策树+随机属性选择=随机森林
之前学的一般决策树选择划分时,是在所有属性里选一个最优属性;而随机森林是随机选择一个属性集合,包含n个属性。n=1时,就是随机选择一个属性,通常 n = l o g 2 d n=log_2d n=log2d,这个d是所有属性的个数。
这个随机选择通过属性扰动增加了随机森林的多样性。
随机森林有个牛逼的属性就是不会出现过拟合,主要就是通过随机性来实现的。随机森林的随机性体现在每颗树的训练样本是随机的,树中每个节点的分裂属性集合也是随机选择确定的。有了这2个随机的保证,随机森林就不会产生过拟合的现象了。(至于为什么不会,是根据数学推导得来的,不用管。)
ch.9 聚类
-
概念
聚类是目前为止唯一一个“无监督学习”,上面的那些都是“监督学习”。
聚类自动把数据划分成若干个互相不相交的子集,称为“簇 cluster”,每个簇就是一个类。物以类聚
簇内相似度越高,簇间相似度越低,聚类效果越好。 -
欧氏距离
x i x_i xi和 x j x_j xj代表两个样本,这两个项目不是单独的点而是向量。 -
原型聚类
原型聚类是指聚类结构能通过一组原型刻画,原型是指样本空间中具有代表性的点。通常情形下,算法先对原型进行初始化,然后对原型进行迭代更新求解.采用不同的原型表示、不同的求解方式,将产生不同的算法。下面这两种聚类都属于原型聚类。 -
K均值,学习向量,高斯混合
一句话概括:K均值算法针对聚类所得簇划分最小化平方误差,平方误差刻画了簇内样本围绕均值向量(质心)的紧密程度,但这个“最小化平方误差”不好解,于是使用贪心策略,通过迭代优化来近似求解平方误差。
K均值算法的详细介绍:https://www.cnblogs.com/pinard/p/6164214.html -
kmeans划分西瓜数据集4.0的计算刘慧敏说太复杂了不考。
-
密度聚类的概念
一句话概括:密度聚类算法假定类别可以通过样本分布的紧密程度决定,通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。
密度聚类的详细介绍:https://www.cnblogs.com/pinard/p/6208966.html
ch.0 题型
选择10*2'
填空10*2'
判断5*2'
简答4*5'
计算2*15'