您的位置:首页 > 其它

机器学习几种常见模型的介绍

2015-08-05 16:03 281 查看
这里我主要介绍以下几种模型:

k近邻法

朴素贝叶斯法

决策树

逻辑斯蒂回归

支持向量机

adaBoost方法

K近邻法

原理

输入:实例的特征向量

输出:实例的类别

算法描述:

(1)在训练集中找出与实例最近邻的k个点,涵盖这k个点的邻域记做Nk(x)N_k(x)

(2)在Nk(x)N_k(x)中根据分类决策规则决定x的类别

优缺点

优点:精度高,对异常值不敏感,无数据输入假定

缺点:计算复杂度高,空间复杂度高

适用场景

一般适用于数值型数据和标称型数据

决定要素

距离度量、k值选择、分类决策规则,是k近邻的三大要素,它不具有显示学习的过程。

参考文献

1.Cover T,Hart P.Nearest neighbor pattern classification.IEEE Transaction on information Theory 1967

朴素贝叶斯方法

原理

朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。

输入:随机向量XX

输出:类标记YY

基本思想:对于给定的输出xx,通过学习到的模型计算后验概率分布P(Y=Ck|X=x)P(Y=C_k|X=x),将后验概率最大的类作为xx的类输出,其中关键的就是后验概率的计算,其中就利用到贝叶斯定理,

P(Y=Ck|X=x)=P(X=x|Y=Ck)P(Y=Ck)P(X=x)P(Y=C_k|X=x)=\frac{P(X=x|Y=C_k)P(Y=C_k)}{P(X=x)}

算法描述(针对文档词分类):

(1)通过遍历文档集,计算P(X=x|Y=Ck)P(X=x|Y=C_k),这里x表示一个词。

(2)由上述公式,我们就可以计算出后验概率,取概率较大的那个类别。

优缺点

优点:在数据较少条件下,可以处理多类别问题

缺点:对于输入数据的准备方式较为敏感

适用场景

适用于标称型数据

参考文献

1.Mitchell TM.Chapter 1:Generative and discriminative classifier:Naive Bayes and logistic regression.In :Machine Learning.Draft,2005.

逻辑斯蒂回归

原理

属于对数线性模型,从逻辑斯蒂分布得到该模型,该模型是如下的概率分布:

P(Y=1|x)=exp(w∗x+b)1+exp(w∗x+b)P(Y=1|x)=\frac{exp(w*x+b)}{1+exp(w*x+b)}

P(Y=0|x)=11+exp(w∗x+b)P(Y=0|x)=\frac{1}{1+exp(w*x+b)}

我们通过求出两种类别的概率,取概率较大的那个类别。

其中算法的核心集中在求权值矩阵ww,在统计学中我们可以通过最大似然估计计算模型参数,先求出对数似然函数,然后计算最优化条件下的参数,这里问题常常转化目标函数的最优化,我们常用的方法有梯度下降法和拟牛顿法

在实际的工程中,梯度下降法比较容易实现,下面我们介绍一下采用梯度下降法实现的逻辑斯蒂回归模型。

算法描述

(1)权重向量的初始化

(2)迭代N次:

   计算整个数据集的梯度

   使用α∗gradient\alpha*gradient更新权重

(3)返回最终的权重向量系数

从算法来看,我认为采用梯度下降法的逻辑斯蒂回归实际上与两层神经网络的BP算法非常相似(这里采用Sigmod激活函数)。

优缺点

优点:计算代价不高,易于理解和实现

缺点:容易欠拟合,分类精度可能不高

适用场景

数值型和标称型数据

决定因素

模型迭代速度的快慢决定于更新权重的步长,步长太大容易长生振荡,步长太小迭代速度太慢,所以需要选取合适的步长,还有终止迭代的条件,这里以最简单的迭代次数作为循环终止条件,实际上我们也可以将模型推测值和实际值的误差作为循环的终止条件。

总的来说,有两个重要因素决定了模型:更新步长,循环终止条件

AdaBoost算法

原理

我们知道弱分类器容易实现,提升方法就是从弱学习算法出发,反复学习,得到一系列的弱分类器,然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布,针对不同的训练数据分布调用学习算法学习一系列的弱分类器。

输入:训练数据T={(x1,y1),(x2,y2),(x3,y3),...,xN,yN}T=\{(x_1,y_1),(x_2,y_2),(x_3,y_3),...,x_N,y_N\}

输出:类别{-1,+1}

算法描述:

(1)初始化训练数据的权值分布D1

(2)对每一次的权重分布m=1,2,..,M

  (a)使用权值分布DmD_m的训练数据集学习,得到弱分类器Gm(x)G_m(x)

  (b)计算Gm(x)G_m(x)在训练数据集上的分类误差率eme_m

  (c)计算Gm(x)G_m(x)的系数

αm=0.5∗log(1−emem)\alpha_m=0.5*log(\frac{1-e_m}{e_m})

  (d)更新训练数据集的权值分布,这里主要通过αm\alpha_m改变新的权值分布

(3)构建基本分类器的线性组合

f(x)=∑m=1MαmGm(x)f(x)=\sum_{m=1}^M\alpha_mG_m(x)

决定因素

弱分类器的个数、弱分类器类型(如:单层决策树)、弱分类器的构建(如:在全局特征空间中寻找最优特征的步长)。

优缺点

优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整

缺点:对离群点敏感

适用场景

数值型数据和标称型数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: