回归与梯度算法概要.docx

上传人:b****6 文档编号:7155120 上传时间:2023-01-21 格式:DOCX 页数:14 大小:336.63KB
下载 相关 举报
回归与梯度算法概要.docx_第1页
第1页 / 共14页
回归与梯度算法概要.docx_第2页
第2页 / 共14页
回归与梯度算法概要.docx_第3页
第3页 / 共14页
回归与梯度算法概要.docx_第4页
第4页 / 共14页
回归与梯度算法概要.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

回归与梯度算法概要.docx

《回归与梯度算法概要.docx》由会员分享,可在线阅读,更多相关《回归与梯度算法概要.docx(14页珍藏版)》请在冰豆网上搜索。

回归与梯度算法概要.docx

回归与梯度算法概要

回归与梯度下降:

回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locallyweighted回归,logistic回归,等等。

用一个很简单的例子来说明回归,这个例子来自很多的地方,也在很多的opensource的软件中看到,比如说weka。

大概就是,做一个房屋价值的评估系统,一个房屋的价值来自很多地方,比如说面积、房间的数量(几室几厅)、地段、朝向等等,这些影响房屋价值的变量被称为特征(feature),feature在机器学习中是一个很重要的概念,有很多的论文专门探讨这个东西。

在此处,为了简单,假设我们的房屋就是一个变量影响的,就是房屋的面积。

假设有一个房屋销售的数据如下:

面积(m^2) 销售价钱(万元)

123           250

150           320

87           160

102           220

……

这个表类似于帝都5环左右的房屋价钱,我们可以做出一个图,x轴是房屋的面积。

y轴是房屋的售价,如下:

如果来了一个新的面积,假设在销售价钱的记录中没有的,我们怎么办呢?

我们可以用一条曲线去尽量准的拟合这些数据,然后如果有新的输入过来,我们可以在将曲线上这个点对应的值返回。

如果用一条直线去拟合,可能是下面的样子:

绿色的点就是我们想要预测的点。

首先给出一些概念和常用的符号,在不同的机器学习书籍中可能有一定的差别。

房屋销售记录表-训练集(trainingset)或者训练数据(trainingdata),是我们流程中的输入数据,一般称为x

房屋销售价钱-输出数据,一般称为y

拟合的函数(或者称为假设或者模型),一般写做y=h(x)

训练数据的条目数(#trainingset),一条训练数据是由一对输入数据和输出数据组成的

输入数据的维度(特征的个数,#features),n

下面是一个典型的机器学习的过程,首先给出一个输入数据,我们的算法会通过一系列的过程得到一个估计的函数,这个函数有能力对没有见过的新数据给出一个新的估计,也被称为构建一个模型。

就如同上面的线性回归函数。

我们用X1,X2..Xn去描述feature里面的分量,比如x1=房间的面积,x2=房间的朝向,等等,我们可以做出一个估计函数:

θ在这儿称为参数,在这儿的意思是调整feature中每个分量的影响力,就是到底是房屋的面积更重要还是房屋的地段更重要。

为了如果我们令X0=1,就可以用向量的方式来表示了:

我们程序也需要一个机制去评估我们θ是否比较好,所以说需要对我们做出的h函数进行评估,一般这个函数称为损失函数(lossfunction)或者错误函数(errorfunction),描述h函数不好的程度,在下面,我们称这个函数为J函数

在这儿我们可以做出下面的一个错误函数:

 

这个错误估计函数是去对x(i)的估计值与真实值y(i)差的平方和作为错误估计函数,前面乘上的1/2是为了在求导的时候,这个系数就不见了。

如何调整θ以使得J(θ)取得最小值有很多方法,其中有最小二乘法(minsquare),是一种完全是数学描述的方法,在stanford机器学习开放课最后的部分会推导最小二乘法的公式的来源,这个来很多的机器学习和数学书上都可以找到,这里就不提最小二乘法,而谈谈梯度下降法。

梯度下降法是按下面的流程进行的:

1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。

2)改变θ的值,使得J(θ)按梯度下降的方向进行减少。

为了更清楚,给出下面的图:

这是一个表示参数θ与误差函数J(θ)的关系图,红色的部分是表示J(θ)有着比较高的取值,我们需要的是,能够让J(θ)的值尽量的低。

也就是深蓝色的部分。

θ0,θ1表示θ向量的两个维度。

在上面提到梯度下降法的第一步是给θ给一个初值,假设随机给的初值是在图上的十字点。

然后我们将θ按照梯度下降的方向进行调整,就会使得J(θ)往更低的方向进行变化,如图所示,算法的结束将是在θ下降到无法继续下降为止。

当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,可能是下面的情况:

上面这张图就是描述的一个局部最小点,这是我们重新选择了一个初始点得到的,看来我们这个算法将会在很大的程度上被初始点的选择影响而陷入局部最小点

下面我将用一个例子描述一下梯度减少的过程,对于我们的函数J(θ)求偏导J:

(求导的过程如果不明白,可以温习一下微积分)

下面是更新的过程,也就是θi会向着梯度最小的方向进行减少。

θi表示更新之前的值,-后面的部分表示按梯度方向减少的量,α表示步长,也就是每次按照梯度减少的方向变化多少。

一个很重要的地方值得注意的是,梯度是有方向的,对于一个向量θ,每一维分量θi都可以求出一个梯度的方向,我们就可以找到一个整体的方向,在变化的时候,我们就朝着下降最多的方向进行变化就可以达到一个最小点,不管它是局部的还是全局的。

用更简单的数学语言进行描述步骤2)是这样的:

倒三角形表示梯度,按这种方式来表示,θi就不见了,看看用好向量和矩阵,真的会大大的简化数学的描述啊。

数据挖掘十大经典算法

(1)C4.5

机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。

树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。

决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。

从数据产生决策树的机器学习技术叫做决策树学习,通俗说就是决策树。

决策树学习也是数据挖掘中一个普通的方法。

在这里,每个决策树都表述了一种树型结构,他由他的分支来对该类型的对象依靠属性进行分类。

每个决策树可以依靠对源数据库的分割进行数据测试。

这个过程可以递归式的对树进行修剪。

当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。

另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。

决策树同时也可以依靠计算条件概率来构造。

决策树如果依靠数学的计算方法可以取得更加理想的效果。

决策树是如何工作的

决策树一般都是自上而下的来生成的。

选择分割的方法有好几种,但是目的都是一致的:

对目标类尝试进行最佳的分割。

从根到叶子节点都有一条路径,这条路径就是一条“规则”。

决策树可以是二叉的,也可以是多叉的。

对每个节点的衡量:

1)通过该节点的记录数

2)如果是叶子节点的话,分类的路径

3)对叶子节点正确分类的比例。

有些规则的效果可以比其他的一些规则要好。

由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。

相信大家对ID3算法都很.熟悉了,这里就不做介绍。

C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

2)在树构造过程中进行剪枝;

3)能够完成对连续属性的离散化处理;

4)能够对不完整数据进行处理。

C4.5算法有如下优点:

产生的分类规则易于理解,准确率较高。

其缺点是:

在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

数据挖掘十大经典算法

(2)Thek-meansalgorithm

k-meansalgorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k

它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。

它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。

假设有k个群组Si,i=1,2,...,k。

μi是群组Si内所有元素xj的重心,或叫中心点。

k平均聚类发明于1956年,该算法最常见的形式是采用被称为劳埃德算法(Lloydalgorithm)的迭代式改进探索法。

劳埃德算法首先把输入点分成k个初始化分组,可以是随机的或者使用一些启发式数据。

然后计算每组的中心点,根据中心点的位置把对象分到离它最近的中心,重新确定分组。

继续重复不断地计算中心并重新分组,直到收敛,即对象不再改变分组(中心点位置不再改变)。

劳埃德算法和k平均通常是紧密联系的,但是在实际应用中,劳埃德算法是解决k平均问题的启发式法则,对于某些起始点和重心的组合,劳埃德算法可能实际上收敛于错误的结果。

(上面函数中存在的不同的最优解)

虽然存在变异,但是劳埃德算法仍旧保持流行,因为它在实际中收敛非常快。

实际上,观察发现迭代次数远远少于点的数量。

然而最近,DavidArthur和SergeiVassilvitskii提出存在特定的点集使得k平均算法花费超多项式时间达到收敛。

近似的k平均算法已经被设计用于原始数据子集的计算。

从算法的表现上来说,它并不保证一定得到全局最优解,最终解的质量很大程度上取决于初始化的分组。

由于该算法的速度很快,因此常用的一种方法是多次运行k平均算法,选择最优解。

k平均算法的一个缺点是,分组的数目k是一个输入参数,不合适的k可能返回较差的结果。

另外,算法还假设均方误差是计算群组分散度的最佳参数。

数据挖掘十大经典算法(3)Supportvectormachines

支持向量机,英文为SupportVectorMachine,简称SV机(论文中一般简称SVM)。

它是一种監督式學習的方法,它广泛的应用于统计分类以及回归分析中。

支持向量机属于一般化线性分类器.他们也可以认为是提克洛夫规范化(TikhonovRegularization)方法的一个特例.这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区.因此支持向量机也被称为最大边缘区分类器。

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。

最大期望经常用在机器学习和计算机视觉的数据集聚(DataClustering)领域。

最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在E步上找到的最大似然的期望值从而计算参数的最大似然估计。

M步上找到的参数然后用于另外一个E步计算,这个过程不断交替进行。

Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。

其原理也从线性可分说起,然后扩展到线性不可分的情况。

甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(SupportVectorMachine,简称SVM)。

支持向量机的提出有很深的理论背景。

支持向量机方法是在近年来提出的一种新方法。

SVM的主要思想可以概括为两点:

(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;

(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。

在学习这种方法时,首先要弄清楚这种方法考虑问题的特点,这就要从线性可分的最简单情况讨论起,在没有弄懂其原理之前,不要急于学习线性不可分等较复杂的情况,支持向量机在设计时,需要用到条件极值问题的求解,因此需用拉格朗日乘子理论,但对多数人来说,以前学到的或常用的是约束条件为等式表示的方式,但在此要用到以不等式作为必须满足的条件,此时只要了解拉格朗日理论的有关结论就行。

介绍

支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。

在分开数据的超平面的两边建有两个互相平行的超平面。

分隔超平面使两个平行超平面的距离最大化。

假定平行超平面间的距离或差距越大,分类器的总误差越小。

一个极好的指南是C.J.CBurges的《模式识别支持向量机指南》。

vanderWalt和Barnard将支持向量机和其他分类器进行了比较。

动机

有很多个分类器(超平面)可以把数据分开,但是只有一个能够达到最大分割。

我们通常希望分类的过程是一个机器学习的过程。

这些数据点并不需要是

中的点,而可以是任意

(统计学符号)中或者

(计算机科学符号)的点。

我们希望能够把这些点通过一个n-1维的超平面分开,通常这个被称为线性分类器。

有很多分类器都符合这个要求,但是我们还希望找到分类最佳的平面,即使得属于两个不同类的数据点间隔最大的那个面,该面亦称为最大间隔超平面。

如果我们能够找到这个面,那么这个分类器就称为最大间隔分类器。

问题定义

设样本属于两个类,用该样本训练svm得到的最大间隔超平面。

在超平面上的样本点也称为支持向量.

我们考虑以下形式的样本点

其中ci为1或−1--用以表示数据点属于哪个类.

是一个p−(统计学符号),或n−(计算机科学符号)维向量,其每个元素都被缩放到[0,1]或[-1,1].缩放的目的是防止方差大的随机变量主导分类过程.我们可以把这些数据称为“训练数据”,希望我们的支持向量机能够通过一个超平面正确的把他们分开。

超平面的数学形式可以写作

根据几何知识,我们知道

向量垂直于分类超平面。

加入位移b的目的是增加间隔.如果没有b的话,那超平面将不得不通过原点,限制了这个方法的灵活性。

由于我们要求最大间隔,因此我们需要知道支持向量以及(与最佳超平面)平行的并且离支持向量最近的超平面。

我们可以看到这些平行超平面可以由方程族:

来表示。

如果这些训练数据是线性可分的,那就可以找到这样两个超平面,在它们之间没有任何样本点并且这两个超平面之间的距离也最大.通过几何不难得到这两个超平面之间的距离是2/|w|,因此我们需要最小化|w|。

同时为了使得样本数据点都在超平面的间隔区以外,我们需要保证对于所有的i满足其中的一个条件

这两个式子可以写作:

原型

现在寻找最佳超平面这个问题就变成了在

(1)这个约束条件下最小化|w|.这是一个二次規劃QP(quadraticprogramming)最优化中的问题。

更清楚的,它可以表示如下:

最小化

满足

1/2这个因子是为了数学上表达的方便加上的。

对偶型(DualForm)

把原型的分类规则写作对偶型,可以看到分类器其实是一个关于支持向量(即那些在间隔区边缘的训练样本点)的函数。

支持向量机的对偶型如下:

并满足αi>=0

软间隔

1995年,CorinnaCortes与Vapnik提出了一种改进的最大间隔区方法,这种方法可以处理标记错误的样本。

如果可区分正负例的超平面不存在,则“软边界”将选择一个超平面尽可能清晰地区分样本,同时使其与分界最清晰的样本的距离最大化。

这一成果使术语“支持向量机”(或“SVM”)得到推广。

这种方法引入了松驰参数ξi以衡量对数据xi的误分类度。

随后,将目标函数与一个针对非0ξi的惩罚函数相加,在增大间距和缩小错误惩罚两大目标之间进行权衡优化。

如果惩罚函数是一个线性函数,则等式(3)变形为

数据挖掘十大经典算法(4)TheApriorialgorithm

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。

其核心是基于两阶段频集思想的递推算法。

该关联规则在分类上属于单维、单层、布尔关联规则。

在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。

Apriori演算法所使用的前置统计量包括了:

∙最大规则物件数:

规则中物件组所包含的最大物件数量

∙最小支援:

规则中物件或是物件组必顸符合的最低案例数

∙最小信心水准:

计算规则所必须符合的最低信心水准门槛

该算法的基本思想是:

首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。

然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。

然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。

一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。

为了生成所有频集,使用了递推的方法。

可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。

数据挖掘十大经典算法(5)最大期望(EM)算法

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。

最大期望经常用在机器学习和计算机视觉的数据集聚(DataClustering)领域。

最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在E步上找到的最大似然的期望值从而计算参数的最大似然估计。

M步上找到的参数然后用于另外一个E步计算,这个过程不断交替进行。

最大期望过程说明

我们用

表示能够观察到的不完整的变量值,用

表示无法观察到的变量值,这样

一起组成了完整的数据。

可能是实际测量丢失的数据,也可能是能够简化问题的隐藏变量,如果它的值能够知道的话。

例如,在混合模型(MixtureModel)中,如果“产生”样本的混合元素成分已知的话最大似然公式将变得更加便利(参见下面的例子)。

估计无法观测的数据

代表矢量θ:

定义的参数的全部数据的概率分布(连续情况下)或者概率集聚函数(离散情况下),那么从这个函数就可以得到全部数据的最大似然值,另外,在给定的观察到的数据条件下未知数据的条件分布可以表示为:

 

数据挖掘十大经典算法(8)kNN:

k-nearestneighborclassification

邻近算法

KNN算法的决策过程

k-NearestNeighboralgorithm

右图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?

如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。

K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。

该方法的思路是:

如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

KNN算法中,所选择的邻居都是已经正确分类的对象。

该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。

由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

KNN算法不仅可以用于分类,还可以用于回归。

通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。

更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比。

该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。

因此可以采用权值的方法(和该样本距离小的邻居权值大)来改进。

该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。

目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。

该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

数据挖掘十大经典算法(9)朴素贝叶斯分类器NaiveBayes

贝叶斯分类器

贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

目前研究较多的贝叶斯分类器主要有四种,分别是:

NaiveBayes、TAN、BAN和GBN。

  贝叶斯网络是一个带有概率注释的有向无环图,图中的每一个结点均表示一个随机变量,图中两结点间若存在着一条弧,则表示这两结点相对应的随机变量是概率相依的,反之则说明这两个随机变量是条件独立的。

网络中任意一个结点X均有一个相应的条件概率表(ConditionalProbabilityTable,CPT),用以表示结点X在其父结点取各可能值时的条件概率。

若结点X无父结点,则X的CPT为其先验概率分布。

贝叶斯网络的结构及各结点的CPT定义了网络中各变量的概率分布。

贝叶斯分类器是用于分类的贝叶斯网络。

该网络中应包含类结点C,其中C的取值来自于类集合(c1,c2,...,cm),还包含一组结点X=(X1,X2,...,Xn),表示用于分类的特征。

对于贝叶斯网络分类器,若某一待分类的样本D,其分类特征值为x=(x1,x2,...,xn),则样本D属于类别ci的概率P(C=ci|X1=x1,X2=x2,...,Xn=xn),(i=1,2,...,m)应满足下式:

P(C=ci|X=x)=Max{P(C=c1|X=x),P(C=c2|X=x),...,P(C=cm|X=x)}

而由贝叶斯公式:

P(C=ci|X=x)=P(X=x|C=ci)*P(C=ci)/P(X=x)

其中,P(C=ci)可由领域专家的经验得到,而P(X=x|C=ci)和P(X=x)的计算则较困难。

应用贝叶斯网络分类器进行分类主要分成两阶段。

第一阶段是贝叶斯网络分类器的学习,即从样本数据中构造分类器,包括结构学习和CPT学习;第二阶段是贝叶斯网络分类器的推理,即计算类结点的条件概率,对分类数据进行分类。

这两个阶段的时间复杂性均取决于特征值间的依赖程度,甚至可以是NP完全问题,因而在实际应用中,往往需要对贝叶斯网络分类器进行简化。

根据对特征值间不同关联程度的假设,可以得出各种贝叶斯分类器,NaiveBayes、TAN、BAN、GBN就是其中较典型、研究较深入的贝叶斯分类器。

朴素贝叶斯

分类是将一个未知样本分到几个预先已知类的过程。

数据分类问题的解决是一个两步过程:

第一步,建立一个模型,描述预先的数据集或概念集。

通过分析由属性描述的样本(或实例,对象等)来构造模型。

假定每一个样本都有一个预先定义的类,由一个被称为类标签的属性确定。

为建立模型而被分析的数据元组形成训练数据集,该步也称作有指

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

当前位置:首页 > 表格模板 > 合同协议

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

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