赞
踩
分类:什么 是有监督和无监督学习,其之间的差别
无监督的学习(关联规则、聚类分析)
告诉机器怎么学
监督学习(分类/预测)
不告诉机器怎么学
什么是生成模型/判别模型及区别
生成模型:
判别模型:
从数据中==学习到==不同类概念的区别从而进行分类
如KNN、SVM、ANN、Decision Tree、etc.
特点:
生成模型和判别模型的区别:
分类和回归的区别,两个本质上差别不大
分类和预测是监督学习中的两种主要类型
分类:构造一个分类器来预测类标记
预测/回归:构造一个预测器来预测连续值或趋势
建立连续函数值模型,预测未来的情况比如预测空缺值
经典算法:决策树:决策树的生成流程,怎么筛选属性,筛选属性的准则,类别纯度越纯越好
什么是决策树?
决策树的生成流程
决策树的生成流程,怎么筛选属性,筛选属性的准则,类别纯度越纯越好
决策归纳树算法(一个贪心算法)
流程
树以代表训练样本的单个结点开始。
如果样本都在同一个类.则该结点成为树叶,并用该类标记。
否则,算法选择最有分类能力的属性作为决策树的当前结点.
根据当前决策结点属性取值的不同,将训练样本数据集分为若干子集,每个取值形成一个分枝,有几个取值形成几个分枝。针对上一步得到的一个子集,重复进行先前步骤,递归形成每个划分样本上的决策树。一旦一个属性出现在一个结点上,就不必在该结点的任何后代考虑它。
递归划分步骤仅当下列条件之一成立时停止:
①给定结点的所有样本属于同一类。
②没有剩余属性可以用来进一步划分样本。
③如果某一分枝,没有满足该分支中已有分类的样本,则以样本的多数类创建一个树叶
属性选择基本准则
1. 属性选择度量、又称分类规则,决定给定节点上的分组如何分裂
2. 具有最好度量得分的属性(对分出的数据类别月“纯”)选定为分裂属性
3. 三种度量
决策树的优缺点
筛选准则:信息增益,信息增益率,基尼指数
信息增益(ID3):
原来的信息与分裂后的信息之差,说明我们通过划分得到了多少信息
选择具有最高信息增益的属性
令 p i p_i pi为D中任一元组属于类 C i C_i Ci的概率,估计为 ∣ C i , D ∣ ∣ D ∣ \frac{|C_{i,D}|}{|D|} ∣D∣∣Ci,D∣
D中元组分类需要的信息熵:
I n f r o ( D ) = − ∑ i = 1 m p i l o g 2 ( p i ) Infro(D)=-\sum_{i=1}^mp_ilog_2(p_i) Infro(D)=−∑i=1mpilog2(pi)
(利用A分裂D为v个部分后)分类D需要的信息为: I n f o A ( D ) = ∑ j = 1 v ∣ D j ∣ ∣ D ∣ × I n f o ( D j ) Info_A(D)=\sum_{j=1}^v\frac{|D_j|}{|D|}\times Info(D_j) InfoA(D)=∑j=1v∣D∣∣Dj∣×Info(Dj)
以属性A分支得到的信息增益
G a i n ( A ) = I n f o ( D ) − I n f o A ( D ) Gain(A)=Info(D)-Info_A(D) Gain(A)=Info(D)−InfoA(D)
信息增益率(C4.5)
Gini指数
Gini指数度量数组元素的不纯度,越小越好
如果
数据D包含N类别的样本,Gini(D)定义为 g i n i ( D ) = 1 − ∑ j = 1 n p j 2 gini(D)=1-\sum_{j=1}^{n}p_j^2 gini(D)=1−∑j=1npj2
P j = ∣ C j , D ∣ ∣ D ∣ P_j=\frac{|C_{j,D}|}{|D|} Pj=∣D∣∣Cj,D∣
数据集D基于属性A分裂为子集 D 1 D_1 D1和 D 2 D_2 D2,gini指标定义为
g i n i A ( D ) = ∣ D 1 ∣ ∣ D ∣ g i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ g i n i ( D 2 ) gini_A(D)=\frac{|D_1|}{|D|}gini(D_1)+\frac{|D_2|}{|D|}gini(D_2) giniA(D)=∣D∣∣D1∣gini(D1)+∣D∣∣D2∣gini(D2)
Δ g i n i ( A ) = g i n i ( D ) − g i n i A ( D ) \Delta gini(A)=gini(D)-gini_A(D) Δgini(A)=gini(D)−giniA(D)
具有最小 g i n i s p l i t ( D ) gini_{split}(D) ginisplit(D)的属性(or不纯度减少最大的)用于分裂节点
过拟合问题:核心原因:数据/训练,测试分布不一致。解决策略:1 最有效的是增大样本数量 2 去除噪声 3 降低复杂度 4 train-volidation-test 5正则项https://www.zhihu.com/question/26726794
在决策树里避免过拟合:1降低层高 2 增加叶子节点个数 包含样本最小数 3 先剪枝/后剪枝
(关键考点)决策树优点:1 可解释性 2 集成
1、便于理解和解释。树的结构可视化
2、训练需要的数据少,其他机器学习模型通常需要数据规范化,比如构建虚拟变量和移除缺失值
3、由于训练决策树的数据点的数量导致了决策树的使用开销呈指数分布(训练树模型的时间复杂度是参加训练数据点的对数值)
4、能够处理数值型数据和分类数据,其他的技术通常只能用来专门分析某一种的变量类型的数据集;
5、能够处理多路输出问题;
6、使用白盒模型。如果某种给定的情况在模型中是可以观察的,那么就可以轻易的通过布尔逻辑来解释这种情况,相比之下在黑盒模型中的结果就是很难说明清楚了;
7、可以通过数值统计测试来验证该模型。这对解释验证该模型的可靠性成为可能
8、即使是该模型假设的结果越真实模型所提供的数据有些违反,其表现依旧良好
KNN: 1 流程 找距离 做测试 2lazy learning(懒惰学习)
有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑出离这个数据最近的K个点,看看这K个点属于什么类型,然后用少数服从多数的原则,给新数据归类。
优缺点:多分类 ,多标签 缺点:K敏感 噪声敏感 预测慢 可解释性差 高位诅咒问题
优点:简单,易于理解,易于实现,无需估计参数,无需训练
准确率一般较高
适合对稀有事件进行分类,特别适合于多分类问题
缺点:懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢
当类不平衡的时候,倾向于将类全部归类为大类
可解释性较差,无法给出决策树那样的规则。对噪声非常敏感
算法3:朴素贝叶斯
由于对数据特征条件独立的强假设,所以如果数据集不符合这种假设,准确率可能会较低
优点:概率输出,对文本分类效果较好
给定训练样本集X,假设H的先验概率,P(H|X)服从贝叶斯定理 P ( H ∣ X ) = P ( X ∣ H ) P ( H ) P ( X ) P(H|X)=\frac{P(X|H)P(H)}{P(X)} P(H∣X)=P(X)P(X∣H)P(H)
朴素贝叶斯分类器:
假设y是类变量,X是依赖特征向量(大小为n):X=( x 1 , x 2 , x 3 , . . . , x n x_1,x_2,x_3,...,x_n x1,x2,x3,...,xn)
P ( y ∣ X ) = P ( X ∣ y ) P ( y ) P ( X ) P(y|X)=\frac{P(X|y)P(y)}{P(X)} P(y∣X)=P(X)P(X∣y)P(y)
类条件独立假设
P ( y ∣ x 1 , . . . x n ) = P ( x 1 ∣ y ) P ( x 2 ∣ y ) . . . P ( x n ∣ y ) P ( y ) P ( x 1 ) P ( x 2 ) . . P ( x n ) = P ( y ) ∏ i = 1 n P ( x i ∣ y ) P ( x 1 ) P ( x 2 ) . . . P ( x n ) P(y|x_1,...x_n)=\frac{P(x_1|y)P(x_2|y)...P(x_n|y)P(y)}{P(x_1)P(x_2)..P(x_n)}=\\\frac{P(y)\prod_{i=1}^nP(x_i|y)}{P(x_1)P(x_2)...P(x_n)} P(y∣x1,...xn)=P(x1)P(x2)..P(xn)P(x1∣y)P(x2∣y)...P(xn∣y)P(y)=P(x1)P(x2)...P(xn)P(y)∏i=1nP(xi∣y)
朴素贝叶斯分类器: y ^ = a r g m a x y P ( y ) ∏ i = 1 n P ( x i ∣ y ) \widehat{y}=arg \underset{y}{max}P(y)\prod_{i=1}^nP(x_i|y) y =argymaxP(y)∏i=1nP(xi∣y)
SVM(支持向量机):基本思想:间隔最大化。 优点:支持小样本(支持向量)可以处理一个非线 性问题(核技巧) 泛化能力强 (结构风险最小化)可以尽量处理高维问题
人工神经网络(了解就行):感知机(线性问题)
ANN是一个多输入单输出的非线性阈值器件
x
1
,
x
2
,
…
…
x
n
x_1,x_2,……x_n
x1,x2,……xn:某一神经元的n个输入;
w
i
j
w_{ij}
wij:第j个神经元与第i个神经元的突触连接强度,其值称为权值;
b
i
b_i
bi表示神经元的的阈值,那么形式神经元的输出可以描述为:
y
i
=
f
(
A
i
)
y_i=f (A_i)
yi=f(Ai)
A
i
=
∑
w
j
i
x
j
−
b
i
A_i=∑w_{ji}x_j-b_i
Ai=∑wjixj−bi
f
(
A
i
)
\textcolor{blue}{f(A_i)}
f(Ai)是表示神经元输入-输出关系的函数,称为作用函数或传递函数。有三种形式:阈值型、S型和伪线性型
权重修正方法:相关学习和误差修正学习
BP网络->误差梯度回传(MLP)优点:拟合能力 强。 缺点:容易过拟合,慢。
误差修正学习法:像感知机学习、BP网络学习均属此类
最基本的误差修正学习方法:即 σ 学 习 规 则 \textcolor{blue}{\sigma学习规则} σ学习规则,由4补描述:
使网络输出层的误差平方和达到最小
BP算法的两部分:信息的正向传递与误差的反向传播
基于后向传播算法(BP算法)的多层前馈网络模型
输入向量: $ X=(x_1,x_2,…,x_i,…,x_n)^T$
隐层输出向量:
Y
=
(
y
1
,
y
2
,
…
,
y
j
,
…
,
y
m
)
T
Y=(y_1,y_2,…,y_j,…,y_m)^T
Y=(y1,y2,…,yj,…,ym)T
输出层输出向量:
O
=
(
o
1
,
o
2
,
…
,
o
k
,
…
,
o
l
)
T
O=(o_1,o_2,…,o_k,…,o_l)^T
O=(o1,o2,…,ok,…,ol)T
期望输出向量:
d
=
(
d
1
,
d
2
,
…
,
d
k
,
…
,
d
l
)
T
d=(d_1, d_2,…,d_k,…,d_l)^T
d=(d1,d2,…,dk,…,dl)T
输入层到隐层之间的权值矩阵:
V
=
(
V
1
,
V
2
,
…
,
V
j
,
…
,
V
m
)
V=(V_1,V_2,…,V_j,…,V_m)
V=(V1,V2,…,Vj,…,Vm)
隐层到输出层之间的权值矩阵:
W
=
(
W
1
,
W
2
,
…
,
W
k
,
…
,
W
l
)
W=(W_1,W_2,…,W_k,…,W_l)
W=(W1,W2,…,Wk,…,Wl)
Sigmoid函数: 单 极 性 S i g m o i d 函 数 : f ( x ) = 1 1 + e − x 双 极 性 S i g m o i d 函 数 : f ( X ) = 1 − e − x 1 + e − x 单极性Sigmoid函数:f(x)=\frac{1}{1+e^{-x}}\\双极性Sigmoid函数:f(X)=\frac{1-e^{-x}}{1+e^{-x}} 单极性Sigmoid函数:f(x)=1+e−x1双极性Sigmoid函数:f(X)=1+e−x1−e−x
程序实现:
分类的评估指标:分类准确率 精度,回归度 非平衡类:特异性,灵敏度
类分布不平衡问题:
One class may be rare, e.g. fraud, or HIV-positive
灵敏度: 正确识别的正样本的百分比
Sensitivity = TP/P
特效性: 正确识别的负样本的百分比
Specificity = TN/N
集成学习考到的可能性不大,黑字重点记忆,其余了解
集成模型:准则:基学习器要足够好,基学习器多样化
Bagging:(random forest)
给定包含m个样本的数据集,先随机取出一个样本放入采样集,再把该样本放回初始数据集,使得下次采样时,该样本扔有可能被选中
经过m次随机采样,得到m个样本的采样集
初始训练集中有的样本在采样集多次出现,有的则从未出现
这样可采样出T个含个训练样本的采样集
然后基于每个采样集训练出一个基学习器,再将这些基学习器结合
对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法
Bagging算法流程:
随机森林
随机森林
随机森林是Bagging的一个扩展
RF在以决策树为基学习器构建Bagging集成的基础上,在决策树的训练过程中引入随机属性选择
对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集
再从这个子集中选择一个最优属性用于划分
参数k控制了随机性的引入程度
基本流程:
①假如有N个样本,则有放回的随机选择N个样本(每次随机选择一个样本,然后返回继续选择)。这选择好了的N个样本用来训练一个决策树,作为决策树根节点处的样本。
②当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m << M。然后从这m个属性中采用某种策略(比如说信息增益)来选择1个属性作为该节点的分裂属性。
③决策树形成过程中每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了)。一直到不能够再分裂为止。注意整个决策树形成过程中没有进行剪枝。
④按照步骤1~3建立大量的决策树,这样就构成了随机森林了
Boosting:(AdaBoost/LightGAM)
Stacking
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。