数据挖掘主要算法Word格式文档下载.docx

上传人:b****2 文档编号:14007577 上传时间:2022-10-16 格式:DOCX 页数:18 大小:951.94KB
下载 相关 举报
数据挖掘主要算法Word格式文档下载.docx_第1页
第1页 / 共18页
数据挖掘主要算法Word格式文档下载.docx_第2页
第2页 / 共18页
数据挖掘主要算法Word格式文档下载.docx_第3页
第3页 / 共18页
数据挖掘主要算法Word格式文档下载.docx_第4页
第4页 / 共18页
数据挖掘主要算法Word格式文档下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据挖掘主要算法Word格式文档下载.docx

《数据挖掘主要算法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据挖掘主要算法Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。

数据挖掘主要算法Word格式文档下载.docx

  缺点:

  对输入数据的表达形式很敏感。

  决策树:

  决策树中很重要的一点就是选择一个属性进行分枝,因此要注意一下信息增益的计算公式,并深入理解它。

  信息熵的计算公式如下:

  其中的n代表有n个分类类别(比如假设是2类问题,那么n=2)。

分别计算这2类样本在总样本中出现的概率p1和p2,这样就可以计算出未选中属性分枝前的信息熵。

  现在选中一个属性xi用来进行分枝,此时分枝规则是:

如果xi=vx的话,将样本分到树的一个分支;

如果不相等则进入另一个分支。

很显然,分支中的样本很有可能包括2个类别,分别计算这2个分支的熵H1和H2,计算出分枝后的总信息熵H’=p1*H1+p2*H2.,则此时的信息增益ΔH=H-H’。

以信息增益为原则,把所有的属性都测试一边,选择一个使增益最大的属性作为本次分枝属性。

  决策树的优点:

  计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征;

  容易过拟合(后续出现了随机森林,减小了过拟合现象);

  Logistic回归:

  Logistic是用来分类的,是一种线性分类器,需要注意的地方有:

  1.logistic函数表达式为:

  其导数形式为:

  2.logsitc回归方法主要是用最大似然估计来学习的,所以单个样本的后验概率为:

  到整个样本的后验概率:

  其中:

  通过对数进一步化简为:

  3.其实它的lossfunction为-l(θ),因此我们需使lossfunction最小,可采用梯度下降法得到。

梯度下降法公式为:

  Logistic回归优点:

  1、实现简单;

  2、分类时计算量非常小,速度很快,存储资源低;

  1、容易欠拟合,一般准确度不太高

  2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;

  线性回归:

  线性回归才是真正用于回归的,而不像logistic回归是用于分类,其基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化,当然也可以用normalequation直接求得参数的解,结果为:

  而在LWLR(局部加权线性回归)中,参数的计算表达式为:

  因为此时优化的是:

  由此可见LWLR与LR不同,LWLR是一个非参数模型,因为每次进行回归计算都要遍历训练样本至少一次。

  线性回归优点:

  实现简单,计算简单;

  不能拟合非线性数据;

  KNN算法:

  KNN即最近邻算法,其主要过程为:

  1.计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);

  2.对上面所有的距离值进行排序;

  3.选前k个最小距离的样本;

  4.根据这k个样本的标签进行投票,得到最后的分类类别;

  如何选择一个最佳的K值,这取决于数据。

一般情况下,在分类时较大的K值能够减小噪声的影响。

但会使类别之间的界限变得模糊。

一个较好的K值可通过各种启发式技术来获取,比如,交叉验证。

另外噪声和非相关性特征向量的存在会使K近邻算法的准确性减小。

  近邻算法具有较强的一致性结果。

随着数据趋于无限,算法保证错误率不会超过贝叶斯算法错误率的两倍。

对于一些好的K值,K近邻保证错误率不会超过贝叶斯理论误差率。

  注:

马氏距离一定要先给出样本集的统计性质,比如均值向量,协方差矩阵等。

关于马氏距离的介绍如下:

  KNN算法的优点:

  1.思想简单,理论成熟,既可以用来做分类也可以用来做回归;

  2.可用于非线性分类;

  3.训练时间复杂度为O(n);

  4.准确度高,对数据没有假设,对outlier不敏感;

  1.计算量大;

  2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);

  3.需要大量的内存;

  SVM:

  要学会如何使用libsvm以及一些参数的调节经验,另外需要理清楚svm算法的一些思路:

  1.svm中的最优分类面是对所有样本的几何裕量最大(为什么要选择最大间隔分类器,请从数学角度上说明?

网易深度学习岗位面试过程中有被问到。

答案就是几何间隔与样本的误分次数间存在关系:

,其中的分母就是样本到分类间隔距离,分子中的R是所有样本中的最长向量值),即:

  经过一系列推导可得为优化下面原始目标:

  2.下面来看看拉格朗日理论:

  可以将1中的优化目标转换为拉格朗日的形式(通过各种对偶优化,KKD条件),最后目标函数为:

  我们只需要最小化上述目标函数,其中的α为原始优化问题中的不等式约束拉格朗日系数。

  3.对2中最后的式子分别w和b求导可得:

   

  由上面第1式子可以知道,如果我们优化出了α,则直接可以求出w了,即模型的参数搞定。

而上面第2个式子可以作为后续优化的一个约束条件。

  4.对2中最后一个目标函数用对偶优化理论可以转换为优化下面的目标函数:

  而这个函数可以用常用的优化方法求得α,进而求得w和b。

  5.按照道理,svm简单理论应该到此结束。

不过还是要补充一点,即在预测时有:

  那个尖括号我们可以用核函数代替,这也是svm经常和核函数扯在一起的原因。

  6.最后是关于松弛变量的引入,因此原始的目标优化公式为:

  此时对应的对偶优化公式为:

  与前面的相比只是α多了个上界。

  SVM算法优点:

  可用于线性/非线性分类,也可以用于回归;

  低泛化误差;

  容易解释;

  计算复杂度较低;

  对参数和核函数的选择比较敏感;

  原始的SVM只比较擅长处理二分类问题;

  Boosting:

  主要以Adaboost为例,首先来看看Adaboost的流程图,如下:

  从图中可以看到,在训练过程中我们需要训练出多个弱分类器(图中为3个),每个弱分类器是由不同权重的样本(图中为5个训练样本)训练得到(其中第一个弱分类器对应输入样本的权值是一样的),而每个弱分类器对最终分类结果的作用也不同,是通过加权平均输出的,权值见上图中三角形里面的数值。

那么这些弱分类器和其对应的权值是怎样训练出来的呢?

  下面通过一个例子来简单说明。

  书中(machinelearninginaction)假设的是5个训练样本,每个训练样本的维度为2,在训练第一个分类器时5个样本的权重各为0.2.注意这里样本的权值和最终训练的弱分类器组对应的权值α是不同的,样本的权重只在训练过程中用到,而α在训练过程和测试过程都有用到。

  现在假设弱分类器是带一个节点的简单决策树,该决策树会选择2个属性(假设只有2个属性)的一个,然后计算出这个属性中的最佳值用来分类。

  Adaboost的简单版本训练过程如下:

  1.训练第一个分类器,样本的权值D为相同的均值。

通过一个弱分类器,得到这5个样本(请对应书中的例子来看,依旧是machinelearninginaction)的分类预测标签。

与给出的样本真实标签对比,就可能出现误差(即错误)。

如果某个样本预测错误,则它对应的错误值为该样本的权重,如果分类正确,则错误值为0.最后累加5个样本的错误率之和,记为ε。

  2.通过ε来计算该弱分类器的权重α,公式如下:

  3.通过α来计算训练下一个弱分类器样本的权重D,如果对应样本分类正确,则减小该样本的权重,公式为:

  如果样本分类错误,则增加该样本的权重,公式为:

  4.循环步骤1,2,3来继续训练多个分类器,只是其D值不同而已。

  测试过程如下:

  输入一个样本到训练好的每个弱分类中,则每个弱分类都对应一个输出标签,然后该标签乘以对应的α,最后求和得到值的符号即为预测标签值。

  Boosting算法的优点:

  容易实现,分类准确率较高,没有太多参数可以调;

  对outlier比较敏感;

  聚类:

  根据聚类思想划分:

  1.基于划分的聚类:

  K-means,k-medoids(每一个类别中找一个样本点来代表),CLARANS.

  k-means是使下面的表达式值最小:

k-means算法的优点:

  

(1)k-means算法是解决聚类问题的一种经典算法,算法简单、快速。

  

(2)对处理大数据集,该算法是相对可伸缩的和高效率的,因为它的复杂度大约是O(nkt),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。

通常k<

<

n。

这个算法通常局部收敛。

  (3)算法尝试找出使平方误差函数值最小的k个划分。

当簇是密集的、球状或团状的,且簇与簇之间区别明显时,聚类效果较好。

缺点:

  

(1)k-平均方法只有在簇的平均值被定义的情况下才能使用,且对有些分类属性的数据不适合。

  

(2)要求用户必须事先给出要生成的簇的数目k。

  (3)对初值敏感,对于不同的初始值,可能会导致不同的聚类结果。

  (4)不适合于发现非凸面形状的簇,或者大小差别很大的簇。

  (5)对于"

噪声"

和孤立点数据敏感,少量的该类数据能够对平均值产生极大影响。

  2.基于层次的聚类:

  自底向上的凝聚方法,比如AGNES。

  自上向下的分裂方法,比如DIANA。

  3.基于密度的聚类:

  DBSACN,OPTICS,BIRCH(CF-Tree),CURE.

  4.基于网格的方法:

  STING,WaveCluster.

  5.基于模型的聚类:

  EM,SOM,COBWEB.

  以上这些算法的简介可参考聚类(XX百科)。

  

推荐系统:

  推荐系统的实现主要分为两个方面:

基于内容的实现和协同滤波的实现。

  基于内容的实现:

  不同人对不同电影的评分这个例子,可以看做是一个普通的回归问题,因此每部电影都需要提前提取出一个特征向量(即x值),然后针对每个用户建模,即每个用户打的分值作为y值,利用这些已有的分值y和电影特征值x就可以训练回归模型了(最常见的就是线性回归)。

这样就可以预测那些用户没有评分的电影的分数。

(值得注意的是需对每个用户都建立他自己的回归模型)

  从另一个角度来看,也

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1