文章目录
- 掌握概念
- 1.归纳、演绎、过拟合、欠拟合、自助采样、信息熵,数据归一化原因
- 2.错误率、精度、查准率、查全率,测试集、训练集,留出法、*折交叉验证法
- 3.看得懂P-R曲线、ROC和AUC
- 4.线性回归的概念(3.2看懂),分类的概念,回归的概念。对数几率回归。多分类问题分解策略
- 5.决策树如何选分裂点(例如信息增益的概念)
- 6.感知机缺点、对于神经网络怎么调节才能避免其过拟合或者欠拟合,提高准确率。深度模型需要大量训练样本。神经网络中常用的激活函数
- 7.SVM的分类基本原理
- 8.朴素贝叶斯分类器(什么先、后验,数据性质要有什么条件或假设才能用)
- 9.集成学习的概念,同质集成,异质集成。AdaBoost中Additive Model是啥
- 10.降维的概念及最基本的方法,聚类的概念,特证选择
- 11.监督学习和无监督学习
- 12.L1范数和L2范数表示,效果
- 学会推导和计算
掌握概念
1.归纳、演绎、过拟合、欠拟合、自助采样、信息熵,数据归一化原因
归纳和演绎
归纳是从特殊到一般的“泛化”过程,即从具体的事实归结出一般性规律
从一般到特殊的“特化”过程,即从举出原理推演出具体状况
过拟合和欠拟合
当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本本身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。这种现象叫**“过拟合”**
**“欠拟合”**和“过拟合”相对,这是指对训练样本呢的一般性质尚未学好
自助采样
给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’中,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果
信息熵
“信息熵”(information entropy)是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本作战的比例为
P
k
(
k
=
1
,
2
,
⋅
⋅
⋅
,
∣
y
∣
)
P_k(k=1,2,···,|y|)
Pk(k=1,2,⋅⋅⋅,∣y∣)
则D的信息熵定义为:
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
l
o
g
2
p
k
Ent(D)=-\sum_{k=1}^{|y|}p_klog_2p_k
Ent(D)=−k=1∑∣y∣pklog2pk
Ent(D)的值越小,则D的纯度越高。
数据归一化的原因
“规范化”是将不同变化范围的值映射到相同的固定范围中,常见的是[0,1],亦称归一化
实际上就是使数据量纲保持一致,使得模型更容易训练。
2.错误率、精度、查准率、查全率,测试集、训练集,留出法、*折交叉验证法
错误率和精度
通常我们把分类错误的样本数占样本总数的比例称为**“错误率”(error rate)。即如果在m个样本中有a个样本分类错误,则错误率E=a/m;相应的,1-a/m称为“精度”**(accuracy),即“精度=1-错误率”。更一般的,我们把学习器的实际预测输出与样本的真实输出之间的差异称为“误差”(error),学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”。
查准率和查全率
查准率P、查全率R
测试集、训练集
训练过程中使用的数据称为:训练数据,其中每个样本成为一个“训练样本”,训练样本组合的集合称为**“训练集”**
学得模型后,使用其进行预测的过程称为“测试”,被测试的样本称为“测试样本”,测试样本组合的集合称为**“测试集”**
留出法(P25)
**“留出法”(hold-out)**直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个集合作为测试集T,即D=S∪T,S∩T=Ø,在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。
*折交叉验证法
“交叉验证法”先将数据集D划分为k个大小相似的互斥子集,即
D
=
D
1
⋃
D
2
⋃
D
3
⋅
⋅
⋅
⋃
D
k
,
D
i
⋂
D
j
=
∅
(
i
≠
j
)
D=D_1\bigcup D_2\bigcup D_3···\bigcup D_k,D_i\bigcap D_j =\empty(i\neq j)
D=D1⋃D2⋃D3⋅⋅⋅⋃Dk,Di⋂Dj=∅(i=j)
每个子集Di都尽可能保持数据分布一致性,即从D中通过分层采样得到。然后用k-1个子集得并集作为训练集,余下那个子集作为训测试集;这样就可以获得k组训练/测试集,从而可以进行k次训练和测试,最终返回的是这k个测试结果的均值。显然,交叉验证法的评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为**“K折交叉验证”**(k-fold cross validation)。k的常用取值是10,此时称为10折交叉验证;其他常用的k值由5、20等。
3.看得懂P-R曲线、ROC和AUC
在很多情形下,我们可根据学习器的预测结果对样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在最后的则是学习器认为“最不可能”是正例的样本.按此顺序逐个把样本作为正例进行预测,则每次可以计算出当前的查全率、查准率.以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,显示该曲线的图称为**“P-R图”**.
ROC曲线常用于二分类问题中的模型比较,主要表现为一种真正例率 (TPR) 和假正例率 (FPR) 的权衡。具体方法是在不同的分类阈值 设定下分别以TPR和FPR为纵、横轴作图。由ROC曲线的两个指标, ,
可以看出,当一个样本被分类器判为正例,若其本身是正例,则TPR增加;若其本身是负例,则FPR增加,因此ROC曲线可以看作是随着阈值的不断移动,所有样本中正例与负例之间的“对抗”。曲线越靠近左上角,意味着越多的正例优先于负例,模型的整体表现也就越好。
ROC曲线围成的面积 (即AUC)可以解读为:从所有正例中随机选取一个样本A,再从所有负例中随机选取一个样本B,分类器将A判为正例的概率比将B判为正例的概率大的可能性。可以看到位于随机线上方的点(如图中的A点)被认为好于随机猜测。在这样的点上TPR总大于FPR,意为正例被判为正例的概率大于负例被判为正例的概率。AUC越大,自然排序能力越好,即分类器将越多的正例排在负例之前。
4.线性回归的概念(3.2看懂),分类的概念,回归的概念。对数几率回归。多分类问题分解策略
线性回归
线性回归目的
线性回归的目的是试图学得一个线性模型以尽可能准确地预测实值输出标记
离散属性处理
-
有“序”关系
连续化为连续值
-
无“序”关系
有k个属性值,则转换为k维向量
单一属性的线性回归目标
f ( x ) = ω x i + b 使 得 f ( x i ) ⋍ y i f(x)=\omega x_i+b 使得f(x_i)\backsimeq y_i f(x)=ωxi+b使得f(xi)⋍yi
参数/模型估计:最小二乘法(least square method)
( ω ∗ , b ∗ ) = a r g m i n ∑ i − 1 m ( f ( x i ) − y i ) 2 = a r g m i n ∑ i − 1 m ( y i − ω x i − b ) 2 (\omega^*,b^*) = argmin\sum_{i-1}^{m}(f(x_i)-y_i)^2\\=argmin\sum_{i-1}^{m}(y_i-\omega x_i-b)^2 (ω∗,b∗)=argmini−1∑m(f(xi)−yi)2=argmini−1∑m(yi−ωxi−b)2
分类和回归的概念
分类是指针对输入数据中的给定示例预测其类别标签的预测性建模问题(欲预测的是离散值)。如果欲预测的是连续值,则此类学习任务为回归
对数几率回归
线性回归模型产生的实值输出
z
=
ω
T
x
+
b
z=\omega^Tx+b
z=ωTx+b
期望输出
y
∈
{
0
,
1
}
y\in \{0,1\}
y∈{0,1}
理想的单位阶跃函数
y
=
{
0
z
<
0
;
0.5
z
=
0
;
1
z
>
0
,
y=\begin{cases} 0\quad z<0;\\[2ex] 0.5\quad z=0; \\[2ex] 1\quad z>0, \\[2ex] \end{cases}
y=⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧0z<0;0.5z=0;1z>0,
但是性质不好,所以需要找代替函数,对数几率函数(简称对数函数)
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
运用对数几率函数
对数几率
- 样本作为正例的相对可能性的对数
对数几率回归优点
- 无需事先假设数据分布
- 可得到“类别”的近似概率预测
- 可直接引用现有数值优化算法求取最优解
极大似然法
多分类问题分解策略
多分类学习方法
-
二分类学习方法推广到多类
-
利用二分类学习器解决多分类问题(常用)
对问题进行拆分,为拆出的每个二分类任务训练一个分类器
对于每个分类器的预测结果进行集成以获得最终的多分类结果
拆分策略
- 一对一
- 一对其余
- 多对多
一对一
-
拆分阶段
-
对N个类别两两配对
N(N-1)/2个二类任务
-
各个二类任务学习分类器
N(N-1)/2个二类任务
-
-
测试阶段
-
新样本提交给所有分类器预测
N(N-1)/2个分类结果
-
投票产生最终分类结果
被预测最多的类别为最终类别
-
一对其余
-
任务拆分
-
某一类作为正例,其他反例
N个二类任务
-
各个二类任务学习分类器
N个二类分类器
-
-
测试阶段
-
新样本提交给所有分类器预测
N个分类结果
-
比较各分类器预测置信度
置信度最大类别作为最终类别
-
多对多
若干类作为正类,若干类作为反类
5.决策树如何选分裂点(例如信息增益的概念)
信息增益
“信息熵”(information entropy)是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本作战的比例为
P
k
(
k
=
1
,
2
,
⋅
⋅
⋅
,
∣
y
∣
)
P_k(k=1,2,···,|y|)
Pk(k=1,2,⋅⋅⋅,∣y∣)
则D的信息熵定义为:
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
l
o
g
2
p
k
Ent(D)=-\sum_{k=1}^{|y|}p_klog_2p_k
Ent(D)=−k=1∑∣y∣pklog2pk
Ent(D)的值越小,则D的纯度越高。
假定离散属性a有V个可能取值,若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D所有在属性a上取值为
a
v
a^v
av的样本,记为
D
v
D^v
Dv,信息增益计算公式如下:
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。
增益率
增益率计算公式如下:
IV称为属性a的“固定值”,属性值的可能取值数目越多(即V越大),则IV(a)的值通常会越大。
基尼指数
基尼值计算公式如下:
直观来说,Gini(D)反映了从数据集D随机抽取两个样本,其类别标记不一致的概率,因此Gini(D)越小,则数据集D的纯度越高
基尼指数定义为:
所以我们选择那个使得划分后基尼指数最小的属性作为最优化分属性,即
6.感知机缺点、对于神经网络怎么调节才能避免其过拟合或者欠拟合,提高准确率。深度模型需要大量训练样本。神经网络中常用的激活函数
感知机缺点
- 是线性的模型,不能表达复杂的函数
- 不能出来线性不可分的问题
- 其连异或问题(XOR)都无法解决
对于神经网络怎么调节才能避免其过拟合或者欠拟合
1.早停策略。本质上是交叉验证策略,选择合适的训练次数,避免训练的网络过度拟合训练数据。
2.集成学习策略。而DNN可以用Bagging的思路来正则化。首先我们要对原始的m个训练样本进行有放回随机采样,构建N组m个样本的数据集,然后分别用这N组数据集去训练我们的DNN。即采用我们的前向传播算法和反向传播算法得到N个DNN模型的W,b参数组合,最后对N个DNN模型的输出用加权平均法或者投票法决定最终输出。不过用集成学习Bagging的方法有一个问题,就是我们的DNN模型本来就比较复杂,参数很多。现在又变成了N个DNN模型,这样参数又增加了N倍,从而导致训练这样的网络要花更加多的时间和空间。因此一般N的个数不能太多,比如5-10个就可以了。
3.DropOut策略。所谓的Dropout指的是在用前向传播算法和反向传播算法训练DNN模型时,一批数据迭代时,随机的从全连接DNN网络中去掉一部分隐藏层的神经元。 在对训练集中的一批数据进行训练时,我们随机去掉一部分隐藏层的神经元,并用去掉隐藏层的神经元的网络来拟合我们的一批训练数据。使用基于dropout的正则化比基于bagging的正则化简单,这显而易见,当然天下没有免费的午餐,由于dropout会将原始数据分批迭代,因此原始数据集最好较大,否则模型可能会欠拟合。
神经网络中常用的激活函数
1.ReLU
ReLU激活函数可以说是深度神经网络中最常用的激活函数之一,计算方式如下:
当x小于0时输出为0,当x大于0时输出为x,其图像如下:
优点:
- 计算简单高效,相比sigmoid、tanh没有指数运算
- 相比sigmoid、tanh更符合生物学神经激活机制
- 在正区间不饱和(Does not saturate),解决梯度消失的问题
- 收敛速度较快,大约是 sigmoid、tanh 的 6 倍
缺点:
- 输出not zero-centered
- Dead ReLU Problem
2.Sigmoid
作为分类模型常用的激活函数,Sigmoid的计算方式只是简单的指数运算:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nDdF4jQ3-1668500578378)(https://www.zhihu.com/equation?tex=sigmoid%28x%29%3D%5Cfrac%7B1%7D%7B1%2Be%5E%7B-x%7D%7D+)]
其图示如下:
缺点:
- 左右两侧都是近似饱和区,导数太小,容易造成梯度消失
- 涉及指数运算
- not zero-centered:输出值不以零为中心,会导致模型收敛速度慢
3.tanh
![img](https://i-blog.csdnimg.cn/blog_migrate/2d08d3a2aba50092b9b38732f93c20a2.jpeg)
tanh 取值范围(-1,1),单调连续,处处可微,一般用于隐藏层和二分类的输出层。
- 相比sigmoid,收敛速度更快,因为在0附近的线性区域内斜率更大,收敛速度会加快。
- 相比sigmoid,tanh的输出均值为0,不存在sigmoid中 d W dW dW恒为正或者恒为负的情况。
- 相比sigmoid,也存在近似饱和区,而且范围比sigmoid更大。
7.SVM的分类基本原理
SVM 是一种二类分类模型。它的基本模型是在特征空间中寻找间隔最大化的划分超平面
• 当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
• 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
• 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
硬间隔最大化(几何间隔)、学习的对偶问题、软间隔最大化(引入松弛变量)、非线性支持向量机(核技巧)。
8.朴素贝叶斯分类器(什么先、后验,数据性质要有什么条件或假设才能用)
先验概率
事情还没有发生,要求这件事情发生的可能性的大小,是先验概率.是指根据以往经验和分析得到的概率
后验概率
事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率.后验概率是指在得到“结果”的信息后重新修正的概率
数据性质要有什么条件或假设才能用
“属性条件独立性假设”:对已知类别,假设所有属性相互独立,换言之,假设每个属性独立地对分类结果发生影响。
9.集成学习的概念,同质集成,异质集成。AdaBoost中Additive Model是啥
集成学习概念
通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习等。
同质集成
集成中只包含同种类型的“个体学习器”
相应的学习算法称为“基学习算法”
个体学习器称:“基学习器”
异质集成
个体学习器由不同的学习算法生成
不存在“基学习算法”
AdaBoost中Additive Model
Additive Model(加性模型)即基学习器的线性组合,用于AdaBoost算法的推导
10.降维的概念及最基本的方法,聚类的概念,特证选择
概念
通过某种数学变换将原始高维属性空间转变为一个低维“子空间”,在这个自控子空间中样本密度大幅度提升,距离计算也变得更容易。
最基本的方法
线性降维:对原始高维空间进行线性变换
聚类的概念
将数据样本划分为若干个通常不相交的“簇”,即可以作为一个单独过程(用于找寻数据内在的分布结构)也可以作为分类等其他学习任务的前驱过程。
特征选择:我们将属性称为“特征”,对当前学习任务有用的属性称为“相关特征”,没什么用的属性称为“无关特征”,从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”。
11.监督学习和无监督学习
监督学习
训练数据有标记信息,回归,分类
无监督学习
训练数据没有标记信息,聚类
12.L1范数和L2范数表示,效果
L2
L1
效果
都有助于降低过拟合风险,但L1更容易得到稀疏解,求得的W会有更少得非零分量。