您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > ML整理与实现(党)
对回归方法的理解DangYJ2014.9.24监督学习本篇开始,我想我该开始讨论学习关于机器学习的许多经典理论。这些理论在实际中应用非常的广泛,根据学习情况总结。首先我们开始学习监督学习,假设我们通过统计调查,得到了这样一组数据(关于波特兰市不同地区47个商品房的居住面积和价格)。居住面积(英尺2)价格(1000$)21044001600330240036914162323000540画出这些数据:给出像这样的一个数据,我们应该怎么样去预测波特兰地区其他房子的价格,应该用怎么样关于居住面积的函数进行预测?首先我们需要建立一些未来学习中会经常使用的到概念:()ix表示输入变量(实例中的居住面积),也被叫做输入特征;()iy表示输出变量或目标变量,利用它进行预测(房子价格);()(),iixy叫做训练样本;()(),;1,,iixyim叫做训练集;X表示输入空间;140016001800200022002400260028003000200250300350400450500550price(1000$)Livingarea(feet2)HousepriceY表示输出空间;本实例中,X==Y=R.下面我们更加正规化的描述一下监督学习:我们的目标是,给出一个训练集,去学习一个函数h:X=Y,使得()hx相对于y有一个“好”的预测值。处于历史原因,h被称为一个假设。过程描绘如下:xy当目标变量为连续变量时,回归问题;当目标变量为离散变量时,分类问题。训练集学习算法()hx第一部分:线性回归对于上面的数据,我们在加入一组特征,即房间数量,使得其数据类型更加丰富。居住面积(英尺2)#房间数量价格(1000$)2104340016003330240033691416223230004540这时,x就是一个二维向量,()()()212(,)iiixxxR(一般情况下,特征根据实际情况来选择)。()1ix表示第i个房间的居住面积;()2ix表示第i个房间的房间个数;为了实施监督学习方法,我们必须确定函数(假设)h。最初的选择,我们确定关于x的线性函数,其近似于y。011220()niiihxxxxTθxi表示参数(权),其X=Y参数化线性函数空间;在没有混淆的情况下可以去掉()hx脚标,使其变为()hx;且为了简化公式,令01x;上式最右边表示矩阵,求和式中的n表示输入变量的个数(不包括0x)。现在,给出一个训练集,我们怎么样去选择,去学习参数??一个办法就是去使得()hx与y尽可能的接近,至少对于训练样本应该满足。为了是其公式化,定义一个测量函数,使其对于每一个,()()ihx与()iy都尽可能的近。定义损失函数:2()()11()()2miiiJhxy为什么选择这样的损失函数呢??这个后面一小节将专门针对这个问题进行回答,1/2完全是为了计算方便而加的(后面计算时要求导)。回归主题,我们的目的是为了使得()hx与y尽可能的接近,即就是要求的min()J,怎么办??方法很多,常用的方法是最小二乘法和梯度下降法。1.LMS(最小均方)算法梯度下降法:首先对赋值,这个值可以为随机值,也可以让为全零向量;其次改变的值,使得()J按照梯度下降方向进行减少。:()jjjJ(同时对全部的j=0,1…n进行更新;表示学习率或步长;很自然地,每一步沿着()J最陡峭的方向下降)下面推导我们只针对一个训练样本进行,那么就可以忽略掉求和符号。201()()212()()2()()jjjniiijjJhxyhxyhxyhxyxyhxyx迭代规则可得出:()()():()iiijjjyhxx其被叫做最小均方迭代规则(LMS),也被叫做Widrow-Hoff学习规则该方法看起来很自然和凭借直觉得到的。这种方法迭代的大小与误差项()()()iiyhx成比例;实际中,如果误差项很小(预测准确),参数迭代几乎不变;同样的,参数改变大,说明误差项很大(预测不准确)。预测呈现慢而准,快而糙,其对于步长太敏感。批梯度下降法:对全部的训练样本求误差后,再对参数进行更新。怎么办呢??上面推导中我们使用的一个训练样本。这儿有两种方法可以对其进行修正:()()()1:()()miiijjjiyhxxj对所有的其每一步对训练集中的所有样本进行。实际上,J是一个凸二次函数。下面是一个梯度下降的实例,其最小化了个二次函数。随机梯度下降法:每扫描一步,就要对参数进行更新:Fori=1:m()()():()()iiijjjyhxxj对所有的该算法中,我们反复在训练样本中进行,每次遇到一个训练样本,我们就更新参数(对单样本误差梯度),即为随机梯度下降法(增量梯度下降法)批梯度下降法每步要对全部的样本进行和扫描,如果m很大是,计算成本很高。但是随机梯度法能够开始在总体正确的方向上进行迭代(对每一个样本),其速度要比批梯度下降快,但是其总达不到收敛,只是在最小值旁边徘徊。实际中应用较为广泛,最小值附近的值其实是相对合理的。出于这些原因,尤其是对样本含量较大是,随机梯度更被广泛地使用。2.正规方程最小二乘法:利用矩阵求导的一系列方法,我们得到一个使得()J最小化的值。给出训练集,定义设计矩阵X(mbyn,实际上是mbyn+1,包含常数项),将训练样本的输入值,写成列的形式:(1)(2)()()()()TTmTxxXx从训练集中,令y是m维向量,包含全部的目标值(1)(2)()myyyy现在,()()()(),iiThxx我们可以验证(1)(1)(2)(2)()()(1)(1)(2)(2)()()()()()()()()TTmTmTTmTmxyxyXyXxyxyxyxy而后利用性质2Tiizzz2111()()()22()mTiXyXyhxyJ因此,1()()()21()()21tr()()21tr()21(tr2tr)21(2)2TTTTTTTTTTTTTTTTTTTJXyXyXyXyXyXyXXXyyXyyXXyXXXXXXyXXXy从而得到正规方程:()0TTTJXXXy1()TTTXXXy3.选用误差函数作为平方和的概率解释当我们面对回归问题时,为什么在线性回归和最小二乘中,损失函数的选择是合理的???在本段话中,我们将利用概率性假设进行解释。令目标函数和输入的相关性表示如下方程:()()iTiyx其中,()i是误差项,其包括系统误差(相关特征的考虑)和随机噪音。假定()i是独立同分布的(IDD),根据高斯分布,其均值为零,方差为2。写成()2~(0,)iN,也就是说()i的密度函数写成()2()21()()exp()22iip这就意味着()()2()()21()(;)exp()22iTiiiyxpyx符号()()(;)iipyx表示,给定参数和()ix的情况下,()iy的分布情况。注意:我们不能写成()()(,)iipyx,因为参数不是随机变量。分布写成()()()2;~(,)iiTiyxxN在给定设计矩阵和参数的情况下,()iy的分布是什么????数据的概率给出通过(;)pyX。对于一个参数的固定值,(假定X)关于y的函数。我们希望确定的展现出关于参数的函数。似然函数()(;,)(;)LLXypyX独立性假设()()1()()221()(;)1()exp()22miiiiTimiLpyxyx怎么样合理选择参数,才能是给出的概率模型更好的表现出()ix和()iy的关系???最大似然估计回答了这个问题,我们应该选择使得数据尽可能的出现在高概率区域,也就是说,最大化()L,其为严格递增函数。()()221()()2212()()21()()log()1()logexp()221()logexp()22111log22iTimiiTimimiTiiJlLyxyxmyx4.局部加权线性回归上面提到的线性回归的误差函数里,系数都是1,没有权重。带全的新兴回归加入了权重的信息。基本假设:a)选择,使得2()()()1miiTiiwyx最小化b)输出Tx其中假设()2()2()exp2iixxw(x为待测点),道理是待测点越近的点权重越大,越远的点影响小权重小。权重不是随机变量。此方法成为非参数学习算法,因为误差函数随着预测值的不同而不同,这样参数值无法实现确定,预测一次需要临时进行计算。感觉有些KNN的意思。第二部分:分类与logistic回归logistic回归:1()()1TTxhxgxe其中,1()1zgze称为logistic函数或S形函数。图像如下:21()11()(1)111(1)(1)()(1())zzzzzdgzdzeeeeegzgz怎么样选择???最大似然假设:(1;)()(0;)1()PyxhxPyxhx更加简洁地1(;)(())(1())yyPyxhxhx假设这些训练样本是独立地,然后我们写出参数似然估计()()()()1()()1()(;)(;)(())(1())iimiiiiyiyLpyXpyxhxhx容易最大化()()()()1()log()log()(1)log(1())miiiiilLyhxyhx怎么样最大化可能性呢???本文中应用了类似于梯度下降的方法,梯度上升法通过:()l即:11()(1)()()1()11(1)()(1())()1()(1())(1)(1())()TTTjjTTTTTjTTjjlyygxgxgxyygxgxxgxgxygxygxxyhxx得到()()():()iiijjjyhxx可以看出,与线性回归类似,只是()Tix换成了()()ihx,而()()ihx实际上是()Tix通过()gz映射得到的
本文标题:ML整理与实现(党)
链接地址:https://www.777doc.com/doc-2882924 .html