几种机器学习模型的基本思路

本文试图从分类学习来分析现有几种机器学习模型的基本思路。

首先强调,机器学习所使用的训练数据和测试数据被看作是依联合分布概率 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生,这是监督学习关于数据的基本假设。

对于分类问题,设输入空间 X ⊆ R n \mathcal{X} \subseteq R^n XRn n n n 维向量的集合,输出空间为类标记集合 Y = { c 1 , c 2 , . . . , c K } \mathcal{Y} = \{ c_1, c_2, ..., c_K \} Y={c1,c2,...,cK}。输入为特征向量 x ∈ X x \in \mathcal{X} xX,输出为类标记 y ∈ Y y \in \mathcal{Y} yY X X X 是定义在输入空间 X \mathcal{X} X 上的随机变量, Y Y Y 是定义在输出空间 Y \mathcal{Y} Y 上的随机变量。 P ( X , Y ) P(X,Y) P(X,Y) X X X Y Y Y 的联合概率分布。训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \{ (x_1, y_1), (x_2, y_2), ..., (x_N, y_N) \} T={(x1,y1),(x2,y2),...,(xN,yN)}
P ( X , Y ) P(X,Y) P(X,Y) 独立同分布产生。我们的目的是通过训练集学习到联合概率分布 P ( X , Y ) P(X,Y) P(X,Y) 或条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)

如果训练集足够大,我们由训练集所获得的经验条件概率分布 P ^ ( Y ∣ X ) \hat{P} (Y|X) P^(YX) 可以无限逼近于实际的条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)。但问题在于,我们很难获得足够多的样本。对于分类问题,假设 x ( j ) x^{(j)} x(j) 可取值有 S j S_j Sj 个, j = 1 , 2 , . . . , n j = 1, 2, ..., n j=1,2,...,n,那么输入空间与输出空间所可能的组合数 M = K ∏ j = 1 n S j M = K \prod_{j=1}^{n} S_j M=Kj=1nSj

事实上,样本数量 ∣ T ∣ |T| T 相对“可能性”数量 M M M 不够大,是机器学习各分类模型要解决的主要问题。如前所述,如果 ∣ T ∣ M \frac{|T|}{M} MT 足够大,我们实际上可以以经验条件概率分布 P ^ ( Y ∣ X ) \hat{P} (Y|X) P^(YX) 来作为实际条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)(注意关于数据的基本假设:训练数据和测试数据被看作是依联合分布概率 P ( X , Y ) P(X,Y) P(X,Y) 独立同分布产生)。

所谓过拟合,就是无视 ∣ T ∣ M \frac{|T|}{M} MT 必须保持较高的比例这一要求,所求得的结果其实没有统计意义。在训练集之外的现实世界,正是因为数据的巨型数量,才呈现出分布规律。对于分类问题,现实世界中数据数量与“可能性”数量 M M M 的比趋向于无穷。

好,既然 ∣ T ∣ |T| T 不够大,只有想办法减少 M M M,保持 ∣ T ∣ M \frac{|T|}{M} MT 处于较高的比例,才有可能获得接近 P ( Y ∣ X ) P(Y|X) P(YX) P ^ ( Y ∣ X ) \hat{P} (Y|X) P^(YX)。现有的机器学习模型,基本都是遵循这一基本思路设计,考虑到 M = K ∏ j = 1 N S j M = K \prod_{j=1}^{N} S_j M=Kj=1NSj,其中 K K K 是不变的,具体的减少 M M M 的办法有 2 2 2 类。

减少条件特征数 n n n

决策树

决策树模型通过计算信息增益来识别对结果(种类) Y Y Y 影响最大的那些特征,决策树的剪枝实际上就是去掉那些对结果影响小的特征的识别,实际上就是减少了特征数量 n n n,从而 M M M 也得到减小。

最大熵

最大熵模型通过指定“特征”及“特征函数”,来过滤出那些更有价值的样本点。实际上,这些“特征”往往是某个条件特征或是某些条件特征组合的一种反映,本质上还是条件特征的筛选,设计思路也是减少条件特征数 n n n,从而减小 M M M

减少条件取值数 S S S

k k k 临近法

k k k 临近法模型,对于样本集中没有出现过的特征向量 x x x,直接以样本中“靠近 x x x”的特征向量来表征它。比如极端情况 k = 1 k = 1 k=1,则相当于直接用离 x x x 最近的样本特征向量来代替 x x x。所以 k k k 临近法模型的思路其实是:使用少部分(样本集中出现过的)特征值来取代其他的特征值,也就是减少取值范围 S j ( j = 1 , 2 , . . . , n ) S_{j(j = 1, 2, ..., n)} Sj(j=1,2,...,n),从而减小 M M M

朴素贝叶斯

朴素贝叶斯模型通过条件独立性假设,来推测样本集中没有出现过的特征向量的分布概率。举个例子,我们知道 x i ( 1 ) x_i^{(1)} xi(1) 取值范围是 { S i 1 , S i 2 } \{S_{i1}, S_{i2}\} {Si1,Si2} x i ( 2 ) x_i^{(2)} xi(2) 取值范围是 { S i 3 , S i 4 , S i 5 } \{S_{i3}, S_{i4}, S_{i5}\} {Si3,Si4,Si5},我们不需要样本集中出现过 x j = { S i 1 , S i 3 , . . . } x_j = \{S_{i1}, S_{i3}, ...\} xj={Si1,Si3,...} 就可以推测 x j x_j xj 的分布概率。实际上朴素贝叶斯模型同样是使用少部分(样本集中出现过的)特征值来取代(计算)其他的特征值,本质上也是减少取值范围 S S S,从而减小 M M M

这里多聊聊 k k k 临近法和朴素贝叶斯,它们虽然基本思路一样,但考虑问题的角度却截然相反。朴素贝叶斯基于条件独立性假设,各条件特征相关性越小越好。 k k k 临近法认为接近的点更相似,但判断“接近”时只考虑数学上的距离而不考虑各坐标轴(条件特征)是否具有可比性。比如衣服的长度和颜色是两个无关的特征,但在 k k k 临近法模型中它们变得相互关联,根据颜色到数值的映射你会发现某种颜色跟长度 180 更接近(?)。所以其实 k k k 临近法模型想取得较好的效果,反而要求条件特征具有较高的关联性,才能使得“特征向量 x x x 在某个特征维度上移动会影响到其它特征维度上的向量 x ’ x’ x x x x 的相关性的判断(即距离)”这件事情显得合理。

(未完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值