机器学习week1知识点总结
决策树
-
非叶结点对应于某一划分属性
-
边对应属性的取值
-
叶结点表示分类结果。
-
用法:输入属性向量 x=(x1,x2,x3⋯xn)\mathbf{x} = (x_1,x_2,x_3\cdots x_n)x=(x1,x2,x3⋯xn)由决策树走出一条从根到叶的路径实现分类。
-
对于同一个训练集可能有多个决策树与之相对应。需要选择最合适的决策树。
-
对训练数据中的每一个样例都建立一条从根到叶的路径,得到一个决策树。但是只是针对于训练数据有效,并不具备泛化能力。
构造算法
- A←下一个结点node的最好属性
- 把A作为决策属性赋给结点node
- 对A的每一个取值,创建一个新的儿子结点node
- 把相应的训练样本分到叶结点
- 如果训练样本被很好的分类,则停止,否则在新的叶结点上重复上述过程
产生两个问题:
- 何时确定该结点为叶结点即分类结果?
- 每一步该选择哪个划分属性?
切分方式的选择
- 一个好的属性切分是将示例集合分成若干子 集,最理想情况是每个子集为“皆为正例”或“皆为反 例;需要对结点混杂度(impurity)进行测量
设随机变量SSS的取值集合为{si}\{s_i\}{si},概率分布为P(S=si)P(S = s_i)P(S=si)。如果想对随机变量SSS进行编码,对于每个取值该如何选取编码位数使得编码的期望长度相对较小呢?
-
由信息论的知识可知,对于取值sis_isi应该分配的编码位数为−logP(S=si)-logP(S = s_i)−logP(S=si),其中log为以2为底的对数,对应于0-1编码。
-
则对于随机变量SSS的期望编码位数由如下式子给出,这就是随机变量SSS的熵:H(S)=∑si−P(S=si)logP(S=si)H(S) = \sum_{s_i}^{}-P(S = s_i)logP(S = s_i)H(S)=si∑−P(S=si)logP(S=si)
-
针对于取值概率较小的值的编码位数较多,说明其信息量越大;针对取值概率较大的值得编码位数较少,说明其信息量越小。
- 用熵来衡量一个随机变量的信息量。期望编码长度越多,则信息量越大。
- 琴生不等式:设f(x)f(x)f(x)为区间[a,b][a,b][a,b]上的下凸函数,则∀xi∈[a,b],i∈[1,n]\forall x_i\in[a,b],i\in[1,n]∀xi∈[a,b],i∈[1,n],且∑ai=1,ai>0,i∈[1,n]\sum^{}a_i = 1,a_i >0,i\in[1,n]∑ai=1,ai>0,i∈[1,n]有下面的式子成立:f(a1x1+a2x2+⋯+anxn)≤a1f(x1)+⋯+anf(xn)f(a_1x_1+a_2x_2+\cdots+a_nx_n) \leq a_1f(x_1)+\cdots+a_nf(x_n)f(a1x1+a2x2+⋯+anxn)≤a1f(x1)+⋯+anf(xn)
- 利用不等式取等号的条件可知:当随机变量SSS的取值概率相同时,熵最大。
-
条件熵:
- 随机变量XXX在给定随机变量Y的取值Y=yY = yY=y的条件下所还剩余的信息量,定义形式如下:H(X∣Y=y)=∑xi−P(X=xi∣Y=y)logP(X=xi∣Y=y)H(X|Y = y) = \sum_{x_i}-P(X = x_i|Y = y)logP(X = x_i|Y = y)H(X∣Y=y)=xi∑−P(X=xi∣Y=y)logP(X=xi∣Y=y)即随机变量Y某个值给定的条件下对于随机变量X的最短编码长度
- 给定随机变量Y的条件下X的信息量为上述式子关于随机变量Y分布的期望值,即H(X∣Y)=∑yiH(X∣Y=yi)P(Y=yi)H(X|Y) = \sum_{ y_i}H(X|Y = y_i)P(Y = y_i)H(X∣Y)=yi∑H(X∣Y=yi)P(Y=yi)
-
互信息:定义XXX与YYY间的互信息:I(X;Y)=H(X)−H(X∣Y)I(X;Y) = H(X) - H(X|Y)I(X;Y)=H(X)−H(X∣Y)直观上为观测到随机变量Y的取值后随机变量X的信息的减少量。互信息越大,则说明Y提供了越大量与X有关的信息。