贝叶斯分类法是基于贝叶斯定定理的统计学分类方法。它通过预测一个给定的元组属于一个特定类的概率,来进行分类。朴素贝叶斯分类法假定一个属性值在给定类的影响独立于其他属性的 —— 类条件独立性。
决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。决策树的每个内部节点表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个树叶结点存放着一个类标号。
在决策树算法中,ID3基于信息增益作为属性选择的度量,C4.5基于信息增益比作为属性选择的度量,CART基于基尼指数作为属性选择的度量。
决策树代码
支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
转自研究者July: SVM的求解,先导出12||w||2的问题转化为求w,b的最优化问题,即凸二次规划问题,妙。
从上图我们可以看出,这条红色的线(超平面)把红色的点和蓝色的点分开了。超平面一边的点对应的y全部是-1,而另外一边全部是1。
接着我们可以令分类函数:f(x)=ωTx+b。显然x是超平面上的点时,f(x)=0。那么我们不妨要求所有满足f(x)<0的点,其对应的y等于-1,而f(x)>0则对应的y=1的数据点。(我盗用了很多图。。。)
回忆之前的目标函数:
如果是连续的,那么就是多重线性回归;如果是二项分布,就是Logistic回归;如果是Poission分布,就是Poisson回归;如果是负二项分布,那么就是负二项分布。
回归问题常见步骤是:寻找h函数;构造J函数;想办法使得J函数最小并求得回归参数。逻辑回归的h函数为:
hθ(x)=g(θTx)=11+e−θTx
其中hθ(x)的值表示结果取1的概率。
那么对于输入x的分类结果对于类别1和类别0的概率分别为:
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1−hθ(x)
那么对于构造损失函数J,它们基于最大似然估计推到得到的:
∑ni=1Cost(hθ(xi),yi)=−1m[∑ni=1yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
最小化上式,与最大化下式子类似:
P(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
取似然函数:
l(θ)=logL(θ)=∑ni=1yi(loghθ(xi)+(1−yi)log(1−hθ(xi)))
使用梯度上升的方法,求解θ取为
−1ml(θ),这样通过梯度下降求解梯度最小值。
梯度下降法求最小值:
θj:=θj−ασσθiJ(θ)
代入后得到:
θj:=θj−α1m∑mi=1(hθ(xi)−yi)xji
然后θ的更新过程如下:
集成学习的思路是在对新的实例进行分类的时候,把多个单分类器的结果进行某种组合,来对最终的结果进行分类。
更好的数据往往打败更好的算法,设计好的特征大有脾益。并且如果你有一个庞大的数据集,使用某种特定的算法的性能可能并不要紧。大可以挨个分类器尝试,并且选取最好的一个。(可以多从易用性和性能考虑)
而且从Netfliex Prize的经验教训来看,尝试各类分类器、交叉验证、集成方法往往能取得更好的结果,一般的boosting>bagging>single classifier。集成学习的方法主要有一下三种:
1. 在样本上做文章,基分类器为同一个分类算法,主要有bagging和boosting。
2. 在分类算法上做文章,即用于训练基分类器的样本相同。基分类器的算法不同。
3. 在样本属性集上做文章,即在不同的属性上构建分类器,比较出名的是randomforest Tree的算法,这个有weka也有实现。
1998年Jerome Friedman & Trevor Hastie & Robert Tibshirani发表文章Additive Logistic Regression: a Statistical View of Boosting,中提到Bagging是一个纯粹的降低相关度的方法。如果树的节点具有很高的相关性,bagging就会有很好的效果。
回归树类似决策树,使用叶子节点的平均值作为判定的结果。如果不是叶子节点,那么就继续向下寻找。GBDT几乎可用于所有的回归问题,亦可以适用于二分类问题。
GBDT使用新生成的树来拟合之前的树拟合的残差。
Adaboost目的就是从训练数据中学习一系列的弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。
Adaboost的算法流程如下,首先初始化训练数据的权值分布。每个训练样本最开始都被赋予相同的权重:1/N。计算Gm(x)在训练数据集上的误差率em就是被Gm(x)误分类样本的权值之和。计算Gm(x)的系数,am表示Gm(x)在最终分类器中的重要程度。
αm=12log1−emem的减小而增大。
更新训练数据集的权值分布(目的:得到样本的新权值分布),用于下一轮迭代:
Dm+1=(wm+1,1,wm+1,2,...wm+1,i...,wm+1,N),
wm+1,i=wmiZmexp(−αmyiGm(xi)),i=1,2,...,N
使得被基本分类器Gm(x)。
随机森林指通过多颗决策树联合组成的预测模型,可以对样本或者特征取bagging。