最小惩罚算法
1. 支持向量机
支持向量机(Suport Vector Machine,常简称为SVM),是一个监督式学习的方式。支持向量机属于一般化线性分类器,这类分类器的特点是能够同时最小化经验误差与最大化几何边缘区,因此支持向量机机也被称为最大边缘区分类器。
蓝色和红色的线圈出来的点就是所谓的支持向量,离分界线最近的点,如果去掉这些点,直线多半要改变位置。Classifier Boundary就是决策函数f(x),在两个类的中间。红色和蓝色之间的间隙就是我们要的最大化分类的间隙。
有拉格朗日乘子法的地方,必然是一个组合优化问题。比如
这是一个带等式约束的优化问题,有目标值,有约束条件,不能直接求导。可以使用拉格朗日方法,把这个约束乘以一个系数加到目标函数中去,这样相当与既考虑了原目标函数,也考虑了约束条件。然后分别对x求导等于0,
把它带点菜约束条件中去,可以看到,2个变量两个等式,最终可再带回去求x就可以了。更高一层,带有不等式的约束问题怎么办?需要用更一般化的拉格朗日乘子法,即KKT条件,来求解这个问题。
任何原始问题约束条件无非最多三种,等式约束,大于号约束,小于号约束,而这三种最终通过将约束方程简化成两类:约束方程等于0和约束方程小于0。
假设原始问题约束条件为下例所示:
那么把约束条件变个样子
现在拿到目标函数中去变成
那么KKT条件的定理是什么呢?就是如果一个优化问题在转变成
其中g是不等式约束,h是等式约束。那么KKT条件就是函数的最优值,它必定满足下面条件:
这三个等式很好理解,重点是第三个句子不好理解,因为我们知道在约束条件变完或,所有的 ,且求和还要为0。那么为什么KKT的条件是这样的呢?
某次的g(x)在为最优解起作用,那么它的系数值(可以)不为0,如果某次g(x)没有为下一次的最优解起作用,那么它的系数就必须为0。
函数间隔
对于给定的训练数据集T合超平面(w,b),定义超平面(w,b)关于样本点 的函数间隔为
函数间隔可以表示分类预测的正确性及确信度。但是选择超平面时,只有函数间隔是不够的,因子只要成比较改变 和b,超平面并没有改变,但函数间隔却扩大了。
几何间隔
对于给定的训练数据集T和超平面 ,定义超平面 关于样本点 的几何间隔为 ,其中 为 的 范数。
如果 ,那么函数间隔和几何间隔相等。如果超平面参数 成比例地改变(超平面没有改变),函数间隔也成比例改变,而几何间隔不变。
支持向量机的基本想法是求解能够正确分训练数据集并且几何间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面时唯一的。这里的间隔最大化被称为硬间隔最大化。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将他们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
下面考虑如何求一个几何间隔最大的分离超平面,即最大间隔分离超平面。具体地,这个问题可以表示为下面的约束最优化问题:
即我们希望最大化超平面 关于训练数据集的集合间隔 ,约束条件表示的是超平面 关于每个训练样本点的集合间隔至少是
考虑几何间隔和函数间隔的关系式,可将这个问题改成为
函数间隔 并不影响最优化问题的解。事实上,假设将 成比例改变为 ,这时函数间隔变成 。函数间隔的改变对最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就事实说,它产生一个等价的最优化问题。这样,就可以取 。将 代入上面的最优化问题。注意最大化 和最小化 是一样的。
于是就得到下面的线性可分支持向量机学习的最优化问题
这是一个凸二次规划问题(contex quadratic programming)问题。
凸优问题是指约束最优化问题
其中,目标函数 和约束函数 都是 上的可连续可微的凸函数,约束函数 是 的仿射函数。当木匾函数是 是二次函数且约束函数 是仿射函数时,上述的凸优化问题成为凸二次规划问题。
如果求出约束最优化问题的解 ,那么就可以得出最大间隔分离超平面 及决策函数 ,即线性可分支持向量机模型。
为了求解线性可分支持向量机的最优化问题,将它作为原始最优化问题,应用到拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可支持向量机的对偶算法(al algorithm)。这样做的优点,一是对偶问题往往根据容易求解;二是自然引入核函数,进而推广到非线性可分类问题。
首先构建拉格朗日函数(Lagrange function)。为此,对每一个不等式约束引入拉格朗日乘子(Lagrange multiplier) 定义拉格朗日函数:
其中 为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题
为了得到对偶函数问题的解,需要先求 对 的极小,再求 的极大
(1)求
将拉格朗日函数 分别对 求偏导数并令其等于0
将(1)代入拉格朗日函数,并利用(2),即可得
即
(2)求 对 的极,即对偶问题
将公式(3)的目标函数由极大值转换成求极小,就得到下面与之等价的对偶最优化问题
(3)解
假设 是对偶最优化问题的解,则存在下标使得 ,并求按下式求得原始最优化的解
根据KKT条件成立,即得
因此
,且至少存在一个 ,假设 ,那么 不是原始问题的解,所以
那么分离的超平面可以写成
决策函数可以写成
由此可以看出,分类决策函数只依赖于输入x和训练样本输入的内积,式(8)称为线性可分支持向量机的对偶形式。
案例
训练数据正例点是 ,负例点是 ,试用线性可分支持向量机
解:根据所给数据,对偶问题是
解这一优化问题,将 代入目标函数并记为
对 求偏导令其为0,易知 处取极值,该点不满足约束条件 ,所以最小值应在边界上达到。
当 ,当 ,于是
这样, 对应的实例点 是支持向量,计算可得 ,
分离超平面为
分离决策函数为
线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束不能都成立。 线性不可分意味着不能满足函数间隔大于等于1的约束条件 。为了解决这个问题,对每个样本点 都引入一个松弛变量 ,使得函数间隔加上变量大于等于1,这样约束条件变为
同时对于每个松弛变量 ,支付一个代价 ,目标函数由原来的 变成
C>0为惩罚参数,一般由应用问题解决,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小。最小化木匾函数有2层意思:使得 尽量小,即间隔尽量大,同时使误分类点的个数尽量小,C是调和两者的系数
非线性分类问题是指通过非线性模型才能很好地进行分类的问题。非线性问题往往不好求解,希望通过线性分类问题的方法解决这个问题,所采取的方法是进行一个非线性变换,将非线性问题变成线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。
用线性分类方法求解非线性分类问题分两步:首先使用一个变换将原来空间的数据映射到新空间;然后在新空间里用线性分类学习方法从训练数据中学习分类模型。核技巧就属于这样的方法。
设X是输入空间(欧氏空间 的子集或离散集合),又设H为特征向量(希伯而空间H),如果存在一个从X到H的映射
使得对所有 ,函数 满足条件
则称K(x,z)为核函数, 为映射函数, 。通常计算K(x,z)比较容易,而通话 计算K(x,z)并不容易。
是输入空间到特征空间的迎神,特征空间一般是高维的,甚至是无穷维,可以看到,对于给定的核K(x,z),特征空间H和映射函数 的取法并不唯一,可以取不同的特征空间,即便是在同一特征空间也可以取不同的映射。
在对偶目标函数中的内积 可以用核函数 来代替,此时对偶问题的目标函数成为
这等价于经过映射函数 将原来的输入空间变换到一个新的特征空间,将输入空间中的内积 变换成特征空间中的内积 ,在新的特征空间里从训练样本中学习线性支持向量机。学习是隐式地在特征空间进行的,不需要显式地定义特征空间和营业日函数。在实际应用中,往往依赖领域知识直接选择核函数。
对应的支持向量机是一个p次多项式分类器,在此情形下,分类决策函数成为
对应的支持向量机是高斯径向基函数(radial basis function)分类器。在此情形下,分类决策函数成为
核函数不仅可以定义在欧式空间,还可以定义在离散数据的集合上。比如,字符串核函数是定义在字符串集合上的核函数。字符串核函数在文本分类、信息检索、生物信息学等方面都有应用。
两个字符串s和t上的字符串核函数是基于映射 的特征空间中的内积:
字符串核函数 给出了字符串s和t中长度等于n的所有子串组成的特征向量的余弦相似度。直观上看,两个字符串相同的字串越多,它们就越相似,字符串核函数的值就越大。字符串核函数可以由动态规划快速地计算。
支持向量机的学习问题可以形式化为求解凸二次规划问题,这样的凸二次规划问题具有全局最优解,并且有许多最优化算法可以用于这一问题的求解。但是当训练样本容量很大时,这些算法往往变得非常低效,以至无法使用。
序列最小最优化(sequential minimal optimization,SMO)算法,是一种启发式算法,其基本思路是:如果所有变量的解都满足此最优化问题的KKT条件,那么这个最优化问题的解就得到了。因为KKT条件是该最优化问题的充分必要条件。否则,选择两个变量,固定其他变量,针对这两个变量构建一个二次规划问题。这个二次规划问题的目标是使函数值变得更小。重要的是,这时子问题可以通过解析方法求解,这样就可以大大提高整个算法的计算速度。子问题有两个变量,一个是违反KKT条件最严重的那一个,另一个由约束条件自动确定。如此,SMO算法将原问题不断分解为子问题并对子问题求解,进而达到求解原问题的目的。
假设两个变量是 ,其他变量 是固定的,于是SNO的最优化问题的子问题可以写成。
其中, 是常数,目标函数中省略不含 的常数项。
为了求解两个变量的二次规划问题,约束可以用二维空间中的图形表示
不等式约束(7.3)使得 在盒子[0,C] [0,C]内,等式约束(7.2)使 在平行于盒子[0,C] [0,C]的对角线的直线上。因此要求的是目标函数在一条平行于对角线的线段上最优值。这使得两个变量的最优化问题成为实质上的单变量最优化文图,不访考虑为变量 的最优化问题。
假设初始化可行解为 ,最优化解为 ,并且假设沿着约束方向未经剪辑时 的最优解为
由于 需满足不等式约束(7.3),所以最优值 的取值范围必须满足条件
其中,L与H是 所在对角线段端点的界,如果
如果 ,则
下面首先要求沿着约束方向未经剪辑即未考虑不等式约束(7.3)时 的最优解 ,然后在解决剪辑后 的解 ,我们用定理来描述这个结果
令
当i=1,2时, 为函数g(x)对输入 的预测值与真实输出 之差
定理 最优化问题(7.1)~(7.3)沿着约束方向未经剪辑时的解是
其中
是输入空间到特征空间的映射
经剪辑后的 的解是
由 是
2. 最小公约数计算
两个数的最小公约数不用计算,是1 。
两个数的最小公倍数计算:
1、两个数互质,它们的最小公倍数是两数的积;如5和7的最小公倍数是5×7=35
2、较大的数是较小的数的倍数,它们的最小公倍数是较大的数;如72和12的最小公倍数是72
3,一般用短除求。也就是用两数的公因数去除两数,除到余数为互质数,两数的最小公倍数
是所有除数和余数相乘的积。如图
3. 内点惩罚函数法和外点惩罚函数法各有什么特点
内点惩罚函数法特点:求解时的探索点始终保持在可行域内。
外点惩罚函数法特点:对初始点没有要求,可以任意取定义域内任意一点。
惩罚函数可以分为外点法和内点法,其中外点法更通用,可解决约束为等式和不等式混合的情形,外点法对初始点也没有要求,可以任意取定义域内任意一点。而内点法初始点必须为可行区内一点,在约束比较复杂时,这个选择内点法的初始点是有难度的,并且内点法只能解决约束为不等式情形。
罚函数的应用
1、电机优化设计
在电机优化设计中应用广义罚函数法优化方法,既可以避免罚函数内点法因罚因子取得不当而造成的寻优困难,又保留了寻优逼近边界的优点,通过目标函数调整和罚函数的容差迭代,可以达到快速收敛的目的。同时,广义罚函数优化方法,还具有边界附近进一步搜索最优点的特性。在应用中,该方法是一种实用性很强而有效的内点寻优方法。
在机械领域,利用广义罚函数优化方法编制的计算机寻优模块与各类外点法或可行方案寻求方法结合,具有显着的优化效果。
2、广义指数因子预测
该模型实施的关键在于预报方程的变量选择和系数估计,在线性回归模型的拟合过程中引入罚函数能够压缩回归方程系数估计,将方程中一部分自变量的系数压缩为0,从而达到自变量选择、降低误差方差的目的,并保证预报方程的稳定性,从而提高预测精度。因此,应用罚函数方法来实现广义指数因子预报方程的拟合是合理的。
4. 最小二乘法的核参数和惩罚系数怎么确定
GA遗传算法,PSO粒子算法,蚁群还有格子法寻优,这些都可以对C和G参数进行寻优。
5. 如何惩罚六年级小孩子
准备工具:加衣服的夹子 考试:100-90 屁股左右夹上5个夹子 跳2分钟 夹着夹子 90-85 屁股左右夹上10个夹子 跳8分钟 夹着夹子 85-70 屁股左右夹上15个夹子 跳15分钟 跑步500米 夹着夹子 70以下 用手打屁股50下 屁股左右夹上所有夹子 跳20分钟 跑步1千米 夹着夹子 吹风机调热吹10分钟 骂人:手打屁股100下 屁股左右夹上8个夹子 跳5分钟 夹着夹子 说谎:手打屁股150下 屁股左右夹上所有夹子 跳20分钟 跑步1千米 夹着夹子 吹风机调热吹10分钟 夹着夹子 【以上所有惩罚都不会留下伤痕,以上所有本人全部试过,火辣辣的痛会持续2-5个小时,没有问题】
六年级的女生制定一个家法
1.放学必须赶快回家。 2.不和男生交往过于密切! 3.下学必须快速完成作业。 4.和同学打电话不得超过15分钟。 5.不和异性待在隐秘的地方。 6.不与网友见面。 7.要有节制的上网。
家规惩罚篇: 1.初犯按家规惩罚,短时间内连续犯双倍惩 2.随时向家长背诵家规,错一条罚10下,完全不会罚100下 3.写检查时要认真,字数不够、不写标题、中心不明确的重写并且:少字和不写标题各打60下并重写,中心不明确的打100下。每一次惩罚超过20下要写检查。字数是下数的10倍。比如30下,就写300字检查。 4.惩罚方式:凡是惩罚全部打光屁股。小于50下罚站,时间与下数相同分钟。大于50下罚跪,时间与下数相同分钟。(罚站、罚跪全部光屁股)。 5.罚站罚跪动作要求:罚站时站直,面向墙壁,双手自然下垂;罚跪要求跪在地面上,不允许垫任何物品,身体前倾,双手倚地。 6.本《家规》由家长负责监督及执行,并拥有最终解释的权利。日后如需补充,可以附件形式增加,相同效力。
6. 支持向量机(SVM)
支持向量机(support vector machine),故一般简称SVM,通俗来讲,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器。其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。SVM在很多诸如文本分类,图像分类,生物序列分析和生物数据挖掘,手写字符识别等领域有很多的应用。
支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。
假设给定一些分属于两类的2维点,这些点可以通过直线分割, 我们要找到一条最优的分割线,如何来界定一个超平面是不是最优的呢?
如图:
在上面的图中,a和b都可以作为分类超平面,但最优超平面只有一个,最优分类平面使间隔最大化。 那是不是某条直线比其他的更加合适呢? 我们可以凭直觉来定义一条评价直线好坏的标准:
距离样本太近的直线不是最优的,因为这样的直线对噪声敏感度高,泛化性较差。 因此我们的目标是找到一条直线(图中的最优超平面),离所有点的距离最远。 由此, SVM算法的实质是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的最小距离。这个最小距离用SVM术语来说叫做间隔(margin) 。
描述:给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类。如果用x表示数据点,用y表示类别(y可以取1或者-1,分别代表两个不同的类),一个线性分类器的学习目标便是要在n维的数据空间中找到一个超平面(hyper plane),这个超平面的方程可以表示为( wT中的T代表转置):
例如:现在有一个二维平面,平面上有两种不同的数据,分别用圈和叉表示。由于这些数据是线性可分的,所以可以用一条直线将这两类数据分开,这条直线就相当于一个超平面,超平面一边的数据点所对应的y全是-1 ,另一边所对应的y全是1。
我们令分类函数为:
当f(x) 等于0的时候,x便是位于超平面上的点,而f(x)大于0的点对应 y=1 的数据点,f(x)小于0的点对应y=-1的点,如下图所示:
一个点距离超平面的远近可以表示分类预测的确信或准确程度,如何确定这个超平面呢?从直观上而言,这个超平面应该是最适合分开两类数据的直线。而判定“最适合”的标准就是这条直线离直线两边的数据的间隔最大。所以,得寻找有着最大间隔的超平面。
补充知识点: 点到平面的距离
支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面.。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
按照我们前面的分析,对一个数据点进行分类, 当它的margin越大的时候,分类的confidence越大。 对于一个包含n个点的数据集,我们可以很自然地定义它的margin为所有这n个点的margin值中最小的那个。于是,为了使得分类的confidence高,我们希望所选择的超平面hyper plane能够最大化这个margin值。让所选择的超平面能够最大化这个“间隔”值,这个间隔就是下图中的Gap的一半:
为什么用几何间隔求最大的分离超平面而不用函数间隔?
例题:
我们构造了约束最优化问题,就是下面这个:
此外,由于这个问题的特殊结构,还可以通过拉格朗日对偶性(Lagrange Duality)变换到对偶变量 (al variable) 的优化问题,即通过求解与原问题等价的对偶问题(al problem)得到原始问题的最优解,这就是线性可分条件下支持向量机的对偶算法,这样做的优点在于:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题。
补充知识点: 拉格朗日乘子法学习
拉格朗日KKT条件
KKT条件介绍
拉格朗日对偶
通过给每一个约束条件加上一个拉格朗日乘子(Lagrange multiplier)α,定义拉格朗日函数(通过拉格朗日函数将约束条件融合到目标函数里去,从而只用一个函数表达式便能清楚的表达出我们的问题):
求解这个式子的过程需要拉格朗日对偶性的相关知识。
例题:
接下来谈谈线性不可分的情况,因为 线性可分这种假设实在是太有局限性 了。下图就是一个典型的线性不可分的分类图,我们没有办法用一条直线去将其分成两个区域,每个区域只包含一种颜色的点。
要想在这种情况下的分类器,有两种方式, 一种是用曲线 去将其完全分开,曲线就是一种 非线性 的情况,跟之后将谈到的 核函数 有一定的关系:
另外一种还是用直线,不过不用去保证可分性 ,就是包容那些分错的情况,不过我们得加入惩罚函数,使得点分错的情况越合理越好。其实在很多时候,不是在训练的时候分类函数越完美越好,因为训练函数中有些数据本来就是噪声,可能就是在人工加上分类标签的时候加错了,如果我们在训练(学习)的时候把这些错误的点学习到了,那么模型在下次碰到这些错误情况的时候就难免出错了。这种学习的时候学到了“噪声”的过程就是一个过拟合(over-fitting),这在机器学习中是一个大忌。
我们可以为分错的点加上一点惩罚,对一个分错的点的 惩罚函数 就是 这个点到其正确位置的距离:
对于线性不可分的情况,我们可以用核函数让空间从原本的线性空间变成一个更高维的空间 , 在这个高维的线性空间下,再用一个超平面进行划分 。 这儿举个例子,来理解一下如何利用空间的维度变得更高来帮助我们分类的:
上图是一个线性不可分的图,当我们把这两个类似于椭圆形的点映射到一个高维空间后,映射函数为:
用这个函数可以将上图的平面中的点映射到一个三维空间(z1,z2,z3),并且对映射后的坐标加以旋转之后就可以得到一个线性可分的点集了。
形象说明:例如世界上本来没有两个完全一样的物体,对于所有的两个物体,我们可以通过增加维度来让他们最终有所区别,比如说两本书,从(颜色,内容)两个维度来说,可能是一样的,我们可以加上作者这个维度,是在不行我们还可以加入页码,可以加入拥有者,可以加入购买地点,可以加入笔记内容等等。当维度增加到无限维的时候,一定可以让任意的两个物体可分了。
核函数定义:
核技巧在支持向量机中的应用:
常用核函数:
非线性支持向量机学习算法:
支持向量机的学习问题可以形式化为求解凸二次规划问题。这样的凸二次规划问题具有全局最优解,并且有许多最优化算法可以用于这一一问题的求解。但是当训练样本容量很大时,这些算法往往变得非常低效,以致无法使用。所以,如何高效地实现支持向量机学习就成为一一个重要的问题。目前人们已提出许多快速实现算法.本节讲述其中的序列最小最优化(sequential minimal optimization, SMO)算法。
上述问题是要求解N个参数(α1,α2,α3,...,αN),其他参数均为已知,序列最小最优化算法(SMO)可以高效的求解上述SVM问题,它把原始求解N个参数二次规划问题分解成很多个子二次规划问题分别求解,每个子问题只需要求解2个参数,方法类似于坐标上升,节省时间成本和降低了内存需求。每次启发式选择两个变量进行优化,不断循环,直到达到函数最优值。
整个SMO算法包括两部分,求解两个变量的 二次规划 问题和选择这两个变量的 启发式 方法。
上面求得的(α1)new和(α2)new是在η>0的情况下求得的:
当时为了推导公式我们直接默认它是大于0了,现在我们需要重新审视这一项(η)。这一项是原来关于的二次项的系数。我们可以分下面三种情况讨论:
(1)当η>0时 :这个二次函数开口向上,所以要求这个二次函数的最小值,如果说极值点不在计算出的可行域的范围内,就要根据这个极值点和可行域边界值的关系来得到取最小值的地方:
①如果这个极值点在可行域左边,那么我们可以得到这个可行域内二次函数一定在单增,所以此时L应该是那个取最小值的地方。就如大括号的第三种情况。
②如果这个极值点在可行域右边,那么此时可行域内一定单减,所以此时H就是那个取最小值的地方,就是大括号里的第一种情况。
(2)当η=0时: 这个二次函数就变成了一个一次函数,那么不管这个一次函数的单调性怎样,最小值一定是在边界处取到。所以到时候计算可行域的两个边界的值,看哪个小就用哪个。
(3)当η<0时: 这个二次函数开口向下,那么此时怎么得到取最小值的点呢?很容易就能想到:最小值也是在可行域的边界处取到。很容易理解,此时开口向下,当极值点在区间内时,最小值只能在端点处取,因为极值点处是最大的。而当极值点在区间外时,区间内一定是单调的,此时最小值也只能在端点处取。通过计算比较边界处的目标函数值,哪个小取哪个。
通过以上判断求出(α2)new以后,再根据公式求出(α1)new,然后带入目标函数(1)中。即如下过程:
上述分析是在从N个变量中已经选出两个变量进行优化的方法,下面分析如何高效地选择两个变量进行优化,使得目标函数下降的最快。
7. 浅谈最小二乘法
最小二乘法是回归分析的一种标准方法,它通过最小化每个方程式结果中的残差平方和来近似超定系统(方程组多于未知数的方程组)。
回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
最重要的应用是数据拟合。 最小二乘意义上的最佳拟合将残差平方的总和最小化(残差为:观察值与模型提供的拟合值之间的差)。 当问题在 自变量(x变量)中具有很大的不确定性 时,则简单回归和最小二乘法会出现问题。 在这种情况下,可以考虑拟合 变量误差模型 所需的方法,而不是最小二乘法。
最小二乘问题分为两类:线性或 普通最小二乘 和 非线性最小二乘 ,这取决于 残差在所有未知量中是否是线性的 。线性最小二乘问题发生在 统计回归分析 中,它有 解析解 。非线性问题通常是通过迭代优化来解决的,每次迭代系统都近似为线性系统,因此两种情况下的计算核心是相似的。
多项式最小二乘法 将因变量预测中的方差描述为自变量函数与拟合曲线的偏差。
当观测值来自 指数族 且满足温和条件时,最小二乘估计和 最大似然估计 是相同的。最小二乘法也可以由 矩估计 的方法导出。
下面的讨论主要是以 线性 函数的形式提出的,但是最小二乘法的使用对于更一般的函数族是有效和实用的。同时,通过迭代地应用局部二次逼近似然(通过 Fisher 信息 ),最小二乘法可用于拟合 广义线性模型 。
最小二乘法通常归功于 卡尔·弗里德里希·高斯 (Carl Friedrich Gauss,1795),但它首先由 阿德里安·玛丽·勒让德 (Adrien Marie Legendre,1805)发表。
目标包括调整模型函数的参数以最适合数据集。 一个简单的数据集由n个点(数据对) 组成,其中 是自变量, 是由观测值获得的因变量。模型函数具有 ,在向量 中保持m个可调参数。目的是为“最佳”拟合数据的模型找到参数值。 模型对数据点的拟合度通过其残差来度量,残差定义为因变量的实际值与模型预测的值之间的差: ,最小二乘法通过最小化残差平方和S来寻找最佳参数值: ,二维模型的一个例子是直线模型。y轴的截距表示为 ,斜率为 ,模型函数由 ,请参见线性最小二乘法,以获取该模型的完整示例。
一个数据点可以由多个自变量组成。例如,当将一个平面拟合到一组高度测量值时,平面是两个自变量的函数,例如x和z。在最一般的情况下,每个数据点可能有一个或多个自变量和一个或多个因变量。
下图是一个是一个残差图,说明了 的随机波动,显示了 这个线性模型是合适的, 是一个随即独立的变量。
如果残差点具有某种形状并且不是随机波动的,线性模型就不合适。例如,如果残差图如右图所示为抛物线形状,则为抛物线模型 对数据更加合适。抛物线模型的残差可以通过 计算。
这种回归公式只考虑因变量中的观测误差(但是可替代的 全最小二乘 回归可以解释这两个变量中的误差)。有两种截然不同的语境,具有不同的含义:
通过设置梯度为0求得平方和的最小值。因为模型包含m个参数,因此有m个梯度方程:
由 ,梯度方程可以推导为:
梯度方程适用于所有最小二乘问题。每一个问题都需要模型及其偏导数的特殊表达式。
当模型由参数的线性组合组成时,回归模型是线性模型,即:
式中 是x的函数。
令 ,并将自变量和因变量转换为矩阵X和Y,我们可以按以下方式计算最小二乘,注意D是所有数据的集合。
通过将损失梯度设置为零并求解 ,可以找到最小值。
最后,将损失的梯度设置为零,并求解 ,我们得到:
在某些情况下非线性最小二乘问题有一个 解析解 ,但通常情况下是没有的。在没有解析解的情况下,用数值算法求出使目标最小化的参数的值。大多数算法都涉及到参数的初始值的选择。然后,迭代地对参数进行细化,即通过逐次逼近得到这些参数:
式中,上标k是迭代数,增量 的向量,称为位移向量。在一些常用算法中,每次迭代该模型都可以通过对 近似一阶 泰勒级数 展开来线性化:
Jacobian矩阵J是常数、自变量和参数的函数,因此它在每次迭代时都会改变。残差由:
为最小化 的平方和,将梯度方程置为0,求解 :
经过重新排列,形成m个联立线性方程组, 正规方程组 :
正规方程用矩阵表示法写成
这就是 高斯牛顿法 的定义公式。
在寻求非线性最小二乘问题的解时,必须考虑这些差异。
为了对结果进行统计检验,有必要对实验误差的性质作出假设。通常的假设是误差属于正态分布。 中心极限定理 支持这样的观点:在许多情况下,这是一个很好的近似。
然而,如果误差不是正态分布的,中心极限定理通常意味着只要样本足够大,参数估计就会近似正态分布。因此,鉴于误差均值独立于自变量这一重要性质,误差项的分布在回归分析中不是一个重要问题。具体来说,误差项是否服从正态分布并不重要。
在具有单位权重的最小二乘法计算中,或在线性回归中,第j个参数的方差 ,通常估计为:
其中,真实误差方差 由基于目标函数平方和最小值的估计值代替。分母,n−m,是统计自由度;请参见有效自由度以获取归纳。
如果参数的 概率分布 已知或渐近近似,则可以找到 置信限 。同样,如果残差的概率分布已知或假设,则可以对残差进行统计检验。如果已知或假设实验误差的概率分布,我们就可以导出因变量的任何线性组合的概率分布。当假设误差服从正态分布时,推断很容易,因此意味着参数估计和残差也将是正态分布的,这取决于自变量的值。
当Ω(残差的相关矩阵)的所有非对角项都为空时, 广义最小二乘法 的一个特例称为 加权最小二乘法 ;观测值的方差(沿协方差矩阵对角线)可能仍然不相等( 异方差 )。更简单地说,异方差是当 的方差取决于 的值,这会导致残差图产生“扇出”效应,使其朝向更大的 值,如下侧残差图所示。另一方面, 同构性 假设 和的 方差相等。
关于一组点的平均值的第一个主成分可以用最接近数据点的那条线来表示(用最接近的距离的平方来测量,即垂直于直线)。相比之下,线性最小二乘法只尝试最小化 方向上的距离。因此,虽然二者使用相似的误差度量,但线性最小二乘法是一种优先处理一维数据的方法,而PCA则同等对待所有维度。
tikhonov 正则化
在某些情况下,最小二乘解的正则化版本可能更可取。 Tikhonov正则化 (或 岭回归 )添加了一个约束,即参数向量的 L2范数 ,即参数向量的L2范数,不大于给定值。它可以通过添加 ,其中 是一个常数(这是约束问题的 拉格朗日 形式)。在 贝叶斯 背景下, 这相当于在参数向量上放置一个零均值正态分布的 先验 。
Lasso method
最小二乘法的另一种正则化版本是Lasso(least absolute shrinkage and selection operator),它使用 ,参数向量的L1范数,不大于给定值。(如上所述,这相当于通过添加惩罚项 对最小二乘法进行无约束最小化)。在贝叶斯背景下, 这相当于在参数向量上放置一个零平均 拉普拉斯 先验分布 。优化问题可以使用 二次规划 或更一般的 凸优化方法 ,以及由具体算法如 最小角度回归 算法。
Lasso 和岭回归的一个主要区别是,在岭回归中,随着惩罚的增加,所有参数都会减少但仍然保持非零;而在Lasso中,增加惩罚将导致越来越多的参数被驱动到零。这是Lasso相对于岭回归的一个优势, 因为驱动参数为零会从回归中取消选择特征 。因此,Lasso自动选择更相关的特征并丢弃其他特征,而岭回归永远不会完全丢弃任何特征。基于LASSO开发了一些 特征选择 技术,包括引导样本的Bolasso方法和分析不同 值对应的回归系数,对所有特征进行评分的FeaLect方法
L1正则化公式在某些情况下是有用的,因为它倾向于选择更多参数为零的解,从而给出依赖较少变量的解。因此,Lasso及其变体是 压缩传感 领域的基础。这种方法的一个扩展是 弹性网络正则化 。
From Wikipedia, the free encyclopedia
8. BLEU算法
原理根据N-gram,n<=4
问题
1.the等词过多匹配问题。解决方案:利用计算参考译文和机器翻译译文之间计数取最小值解决
2.机器翻译译文长度<参考译文长度,导致的BLEU结果过高。解决方案:加入惩罚因子BP(Brevity Penalty)=exp(min(0, 1 − [len(ref)/len(MT)]) 解释,如果参考译文的长度<机器翻译的长度,则BP=1,不进行惩罚。如果参考译文的长度>机器翻译的长度,即 [len(ref)/len(MT)]>1,1 − [len(ref)/len(MT)]<0,则0<BP<1的一个数,来降低BLEU结果过高的问题。
缺点:除上面提出的两个问题,对同义词和语法没有考虑
9. 最小公约数的算法
设两数为a、b(b<a),求它们最大公约数(a、b)的步骤如下:用b除a,得a=bq......r 1(0≤r)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零余数即为(a,b)。
http://ke..com/view/255668.htm?fr=ala0_1_1