针对这个两个变 永利爆大奖平台量构建一个二次规划问题

当前位置:永利爆大奖a56 > 永利爆大奖平台 > 针对这个两个变 永利爆大奖平台量构建一个二次规划问题
作者: 永利爆大奖a56|来源: http://www.szzhuche.com|栏目:永利爆大奖平台

文章关键词:永利爆大奖a56,支撑超平面算法

  WORD 格式.分享 硬间隔线性支撑向量机 假设给定一个特征空间上的训练数据集: , ,, 其中, , , , 为第 i 个特征向量或实例, 为 的类标记,当 时,称 为正例,当 时,称 为负例; , 为样本点。 假设训练数据集是线性可分的(存在硬间隔),那么学习的目标是在特征空间找到一个分离超平面,能将实 例分到不同的类。分离超平面方程 ,它由法向量 w 和截距 b 决定,可用 表示。分离超平面将 特征空间分为两部分,一部分是正类,一部分是负类。法向量指向的一侧为正类,另一侧是负类。 一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开,感知机利用误分类最小 的策略,求得分离超平面,不过这是的解有无穷多。线性可分支撑向量机利用间隔最大化求最优分离超平面, 解唯一。 一、模型推导 1.函数间隔:一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面 确定的情况下, 能够相对地表示(注意:真实距离为 )点 距离超平面的远近。而 的符 号与类标记 的符号是否一致能够表示分类是否正确。所以可用标量 值为正表示分类正确,值为负表示分类错误。 来表示分类的正确性及确信度, 超平面 关于样本点 , 的函数间隔为: 超平面 关于训练数据集 T 的函数间隔: 2.几何间隔:函数间隔可以表示分类预测的正确性及确信度,但是选择分离超平面时,只有函数间隔还不够。 因为只要成比例地改变 w 和 b,虽然超平面并没有改变,但函数间隔(它是 的线性函数)却依原比例同 等改变。为了将 表示的超平面的唯一化,即每个超平面对应 中的唯一向量 ,可以对法向量 w 加 以规范化约束 ,这时函数间隔称为几何间隔。 超平面 关于样本点 , 的几何间隔为: 超平面 关于训练数据集 T 的几何间隔为: 3.间隔最大化 支撑向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分 的训练数据集而言,线性可分分离超平面有无穷多个,每一个都是一个感知机,但是几何间隔最大的分离超 平面时唯一的。 间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的却新都对训练数据进 行分类。也就是说,不仅将正负实例点要分开,而且对最难分的实例点(离超平面最近的点)也有足够多大 的确信度将它们分开。 因此所要优化的问题 表示为: 改写为, 的取值不影响最优化问题的解(如果 是最优解,那么 也是最优解,因此 是变动的可以取到 任意值,如果固定 , 也就变得唯一了),令 ,等价变换为, 精品.资料 WORD 格式.分享 (目标函数是支撑间隔,约束是样本点在间隔边界或外侧,目标是寻找支撑向量使得间隔最大化)等价变换 为(标准无等式约束的凸二次规划,这是为了运算方便), 凸二次规划问题存在全局最优解 。 (4)分离超平面与分类决策函数 分离超平面: 分类决策函数: (5)支撑向量与间隔边界 在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支撑向量,支撑向量 是使约束条件等号成立的点,即 ,对于正例点,支撑向量在超平面 上,对于负例点,支 撑向量在超平面 上,没有实例点落在这两个平行的超平面(间隔边界)之间,这两个超平面之间的 距离称为间隔,它依赖于分离超平面的法向量 w,等于 。 在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用。如果移动支持向量将改变所求的解, 但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解是不会改变的。显然支撑向量是训练集中 重要的样本。 二、模型求解 将原始问题转化为 Lagrange 对偶问题,通过求解对偶问题来获得原始问题的最优解:对每个不等式约束引入 Lagrange 乘子 , 1.Lagrange 对偶函数: 其中 2.对偶问题: (1) 求 为拉格朗日乘子向量, , 。 得出 带入拉格朗日函数,得出 (2)求 精品.资料 WORD 格式.分享 , 转换为求极小 根据对偶理论,对上述对偶优化存在,使 可以转化为求解对偶问题。 3.最优解 根据 KKT 条件 由(a)求得 ---(e) , , 是原始问题的解, 是对偶问题的解,因此求解原始问题, --------------------------(a) ---------------------------------- ( b ) ---------------------------------(c) --------------------------------------- ( d ) -------------------------------------------------------- 其中至少有一个 条件(c),得出 (如果 将 带入 KKT 条件,得出 ,那么 , 无解,显然它不是原始最优化问题的解),结合 KKT 两边同时乘以 ,由于 因此分类决策函数为 从 , 中可以看出它们仅仅依赖于 ,所有 在分隔边界上); 的特征点,即支撑向量(因为 精品.资料 WORD 格式.分享 软间隔线性支撑向量机 一、模型推导 如果样本集中存在特异点使得样本集线性不可分,即不能满足函数间隔大于等于 1 不等式约束条件,为了解 决这个问题,可以对每个样本点 , 引入一个松弛变量 ,使函数间隔加上松弛变量大于等于 1.这 样约束条件变为 同时对每个松弛变量 ,支付一个代价 ,目标函数变成 精品.资料 WORD 格式.分享 这里, 称为惩罚参数,一般由应用问题决定,C 值大时对误分类的惩罚增大,C 值小时对误分类的惩罚 减小。最小化上述目标函数有两层含义,要使的 尽量小即间隔尽量大,永利爆大奖平台同时使的误分类的点的个数尽 量小,C 是调和二者的系数。这时的间隔称为软间隔,因为间隔内含义特异点。 原始优化问题: 这仍是一个二次凸优化,存在全局最优解,w 的解是唯一的,但 b 的解不唯一,b 的解存在于一个区间。 二、模型求解 仍使用 Lagrange 对偶方法求解range 函数 其中, , 。 2.对偶问题: (1)求 得出 带入拉格朗日函数,得出 注意它与 无关。 (2)求 消去 ,转换为求极小 精品.资料 , , , WORD 格式.分享 (3)最优解 根据 KKT 条件 由(a)求得 , -------------(a) --------------------(b) ---------------(c) ---------------------(d) -------------------------------------------------(e) ----------------------------------------------------(f) --------------------------(g) ---------------------------------------------------(h) ---------------------------------------------------(i) 由(c)、(e)、(i)得出 再结合(f)得出 由(d),(h)得出 如果 由(j),(k)得出 如果 ,那么 ;如果 , ;-----------------(j) ,那么 ;如果 , 不确定;------(k) 如果 ,那么 , ,因此 ; 由(j),(g)得出 如果 ,那么 , ;这说明 位于间隔边界上或以外; 由(j),(k)得出 如果 ,那么 ,; 此种情况下,进一步讨论: 如果 ,那么在间隔边界上; 如果 ,那么 分类正确, 在间隔边界与分离超平面之间; 如果 ,那么在分界面上; 如果 ,那么在分离超平面误分一侧; 因此可以看出,软间隔的支撑向量( )或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在 分离超平面误分一侧。 3.支撑向量的另一种解释 最小化以下目标函数: 精品.资料 WORD 格式.分享 第一项是经验损失或经验风险,函数称为合页损失函数 以下取正值得函数。 ,下标“+”表示 也就是说,当样本点被正确分类且函数间隔大于 1 时,损失函数为 0,否则( 为支撑向量时)损失函数是 ,第二项是系数为 的 w 的 范数,是正则化项;这两种优化是等价的(通过变量替换方 法); 非线性支撑向量机 对于分类问题是非线性的(线性模型无法将正负实例正确分开),可以利用核技巧,进行一个非线性变换, 将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。 用线性分类方法求解非线性分类问题问题分两步:首先使用一个变换将原空间的数据映射到新空间;然后再 新空间里用线性分类学习方法从训练数据中学习分类模型; 核技巧应用到支持向量机,其基本思想: 通过一个非线性变换将输入空间(欧氏空间 或离散集合)对应于一个特征空间(希尔伯特空间 H), 使得在输入空间 中的超曲面模型对应于特征空间 H 中的超平面模型(支撑向量机),这样分类问题的学习 任务通过在特征空间中求解线性支撑向量机就可以完成。 一、非线性支撑向量机 在线性支撑向量机的对偶问题中,无论是目标函数还是决策函数(分离超平面)都只涉及输入实例与实 例之间的內积,如果把这个內积 看作是希尔伯特空间中的两个特征的內积 ,其中 , ,那么对于在低维线性不可分的样本集 , ,如果通过映射变换到高维希尔伯特 空间 , 变得线性可分(假设能找到这样的合适的映射),那么就可以使用核函数 代替计算 , 这里,未知,但 , , 已知。 使用核函数后的对偶问题的目标函数成为: 精品.资料 最优解成为 WORD 格式.分享 分类决策函数成为 在实际应用中,往往依赖领域知识直接选择核函数,核函数选择的有效性需要通过实验验证。 二、核函数方法 核函数:设 X 是输入空间(欧氏空间 的子集或离散集合),H 为特征空间(希尔伯特空间),如果存在一 个从 X 到 H 的映射, 使得对所有 ,函数 满足条件 则称 为核函数, 为映射函数, 为 和 內积; (希尔伯特空间是完备化的內积空间,其中的每个元素是一个向量(可以无穷维),向量之间定义有內积运 算,且空间关于內积诱导出的范数是完备的) 核技巧的想法是:在学习与预测中只定义核函数 ,而不显示地定义映射函数,因为通常直接计算 比较容易,而通过 和 计算 并不容易。注意, 是输入空间 到特征空间 H 的映射,特征空间 H 一般是高维的,甚至是无穷维的。我们需要的是特征空间中两个特征的內积结果,而不是特征的表示。如果 我们能通过简单的函数 得到 的內积,那就简化了问题,不用考虑的形式,这正是核函数的妙用 之处。 对于给定的核函数 ,特征空间 H(希尔伯特子空间)和映射函数的取法不唯一,因为核函数给出的 是映射后的內积结果,所选取的映射过程可能是不同的。 核函数判定定理:设 : 是对称函数,则 为正定核函数的充要条件是对任意 , , 对应的 Gram 矩阵: 是半正定的。 对于一个具体函数 来说,检验它是否为正定核函数并不容易,因为要去对任意有限输入集验证 K 对应 的 Gram 矩阵是否为半正定。在实际问题中往往应用已有的核函数。 常用核函数: (1)多项式核函数: ,对应的支撑向量机是一个 p 次多项式分类器; (2)高斯核函数: ,对应的支撑向量机是高斯径向基函数分类器; ---------------------------------------------------------------------------------------------- ---------------- (3)字符串核函数: 1)基本定义: 有限字符表 ; 字符串 s: , 字符串 s 的长度 ,空字符串长度为 0; 字符串连接: ,s 和 t 分别是字符串; 长度为 n 的字符串集合 ; 所有字符串的集合: ; s 的子串 u:给定一个指标序列 ,其长度记作 ,如果 i 是连续的,则 ;否则 。 2)映射定义: 精品.资料 WORD 格式.分享 假设 S 是长度大于或等于 n 字符串的集合,s 是 S 的元素,建立字符串集合 S 到特征空间 的映射 ,表示 定义在上的实数空间,其每一维对应一个字符串 ,映射 将字符串 s 对应于空间中的一个向量,其在 u 维 上的取值为 , 这里, 是一个衰减参数, 表示字符串 i 的长度,求和在 s 中所有与 u 相同的子串上进行。 说明:u 代表维,如在字符串 u 维,显然空间有 维,每一维是字母表 上的一个长度为 n 的字符串; 是表示通过指标序列 i,表示的一个 s 的子串,这个子串可以不连续; 表示 s 的子串 等于 u; 是子串 在 s 中的指标序列 i 的最后一个分量减去第一个分量然后加一; 例子:假设 为英文字符集,n 为 3,S 为长度大于或等于 3 的字符串集合,考虑将字符集 S 映射到特征空间 , 的一维对应于字符串 asd,这是,字符串“Nasdaq”在这一维上的值是 ,只有一个子 串 asd,序号是 234;字符串“lass das” 在这一维上的值是 别为 236,246; ,因为有两个 asd,序号分 3)核函数 两个字符创 s 和 t 的字符串核函数是基于映射的特征空间中的內积: 它给出了字符串 s 和 t 中长度等于 n 的所有子串组成的特征向量的余弦相似度。直观上,两个字符串相同的 子串越多,它们就越相似,字符串核函数的值就越大,字符串核函数可以由动态规划快速计算。 序列最小最优化算法 支撑向量机的学习问题可以形式化为求解凸二次规划问题,具有全局最优解,并且有很多最优化算法可以用 于求解这一问题。但是当训练样本容量很大时,这些算法往往变得非常低效。序列最小最优化算法,由 Platt 在 1998 年提出,它是一种启发式算法,相对比较高效。 SMO 算法基本思路是:如果所有变量的解都满足次最优化问题的 KKT 条件,那么这个最优化问题的解就得到 了,因为 KKT 条件是该最优化问题的充分必要条件,否则,选择两个变量,固定其他变量,针对这个两个变 量构建一个二次规划问题,这个二次规划问题关于这两个变量的解应该更接近原始二次规划问题的解,因为 这会使得原始二次规划问题的目标函数值变得更小。重要的是,这时子问题可以通过解析方法求解,子问题 有两个变量,一个是违反 KKT 条件最严重的那一个,另一个由约束条件自动确定。如此,算法将原问题不断 分解为子问题并对子问题求解,进而达到求解原问题的目的。 原始优化问题: 对偶问题: , 子问题的两个变量只有一个是自由变量,假设 , 为两个变量,固定 , , , ,那么根据上面 的等式约束可知: 由于 ,所以 精品.资料 WORD 格式.分享 如果 确定,那么 也随之确定,所以子问题中同时更新两个变量。 优化子问题: SMO 算法包含两个部分:求解两个两个变量二次规划的解析方法和选择变量的启发式方法。不失一般性,假 设选择的两个变量是 , ,其他变量 , , , 固定,于是 SMO 的优化问题的子问题可以写成: , , 其中, , ,是常数,目标函数中省略了不含 , 的常数项。 (1)求解两变量二次规划的解析方法: ? 可行解范围: 假设子问题的初始可行解为 , ,最优解为 , ,显然最优解受等式约束(直线约束)和 不等式约束(盒子约束)条件的限制: ----------------------------(a) 化简为 ? 如果 ,那么 由(a),(b)得出: 如果 ,那么 ? 如果 ,那么 --------------------------(b) ---------(c) 由(a),(d)得出: 如果 ,那么 精品.资料 -----------------------------(d) ---------(e) WORD 格式.分享 如果最优解不在约束内,必须被剪辑。假设在沿着约束方向 , ;然后再求剪辑后 的解; ? 下面忽略不等式约束,求取迭代解 , : , , 未经剪辑时 的最优解为 由于 ,得出 带入目标函数 对 求导 令其为 0,得到 , 将 带入,得到 , 精品.资料 WORD 格式.分享 令 , 的预测与真实输出 之差;那么 ;其中 , 是对输入 的预测,因此 表示对输入 , 因此 精品.资料 , , ,, , , WORD 格式.分享 由 得出 (2)变量的(启发式)选择方法: SMO 算法在每个子问题中选择两个变量优化,其中至少一个变量是违反 KKT 条件的。 1)第一个变量的选择 SMO 称选择第 1 个变量的过程为外层循环。外层循环在训练样本中选取违反 KKT 条件最严重的样本点,并将 其对应的变量作为第 1 个变量。具体地,永利爆大奖平台检验训练样本点 , 是否满足 KKT 条件,即(具体推导见软间 隔 SVM 文章) 如果 ,那么 , ; 如果 ,那么 , ,因此 ; 如果 ,那么 ,; 该检验是在范围内进行的。在检验过程中,外层循环首先遍历所有满足条件 的样本点,即在间隔边 界上的支撑向量点,检验它们是否满足 KKT 条件;如果这些样本点都满足 KKT 条件,那么遍历整个训练集, 检验它们是否满足 KKT 条件; 2)第二个变量的选择 SMO 称选择第 2 个变量的过程为内层循环。假设在外层循环中已经找到第 1 个变量,现在要在内层循环中找 第 2 个变量。第 2 个变量的选择的标准是希望能使有足够大的变化(这样新的 也会有足够大的变化,从而 尽快趋向满足 KKT 条件的值)。 从上面的推导中可以发现, 依赖于 ,为了加快计算速度,一种简单的做法是选择 ,使其对应的 最大。因为已定, 也是确定的。如果 是正,那么选择最小的 作为 ;如果如果 是负,那么选 择最大的 作为 ;(为了节省时间,将所有的 值保存在一个列表中); 在特殊情况下,如果内层循环通过以上方法选择的 不能使目标函数有足够的下降,那么采用以下启发式规则 继续选择 ;遍历在间隔边界上的支撑向量点,依次将其对应的变量作为 试用,直到目标函数有足够的下降。 若找不到合适的,那么遍历训练数据集;若仍找不到合适的,则放弃第 1 个,再通过外层循环寻求另外的。 3)计算阈值 b 和差值 每次完成两个变量的优化后,都要重新计算阈值 b 和,使用迭代的方法更新 b; 根据定义预测误差 ,展开得 下面讨论如何迭代更新 b,即获得: 显然每次更新完 , 后 的选择应该使得 KKT 条件成立; 精品.资料 ---------------(f) a).如果 时,由 KKT 条件可知: WORD 格式.分享 带入(f),得出 同样,如果 ,那么 b).如果 时,由 KKT 条件可知: ------ --(g) ----------(h) 带入(f),得出 同样,如果 时,那么 C).如果 时,由 KKT 条件可知: 带入(f),得出 同样,如果 时,那么 综上可以得出结论: 如果 或 ,那么取 或;(可以证明两者相等); 否则如果 或,那么 或 ,这种情况应该排除; 精品.资料 WORD 格式.分享 因此 ,如果 中一个是 0,另一个是 C,那么和以及它们之间的数都是符合 KKT 条件的阈值,这时选择它 们的中点作为 ; 在每次完成两个变量的优化后,永利爆大奖平台还必须更新对应的值,并将它们保存在列表中,值得更新要用到 值,以 及所有支撑向量对应的 : 其中,S 是所有支撑向量的集合(由于非支撑向量对用的 的)。 ,因此在 S 上求和与在整个样本集上是一致 序列最小最优化(SMO)算法实现 输入:训练数据集 , , , , , , ,其中 , , 精度 ,C; 输出:近似解 ; 1.取初值 ,令 ; 2.选取优化变量 , ; (1)选择第 1 个变量 :在范围内在训练样本中选取违反 KKT 条件最严重的样本点:首先遍历满足条件 的所有样本点,如果它们都满足 KKT 条件,那么遍历整个训练集; a). ; b). c). (2)选择第二个变量 :如果 是正,那么选择最小的 作为 ;如果如果 是负,那么选择最大的 作为 ;在特殊情况下,如果以上方法选择的不能使目标函数有足够的下降,那么遍历在间隔边界上的 支撑向量点,依次将其对应的变量作为 试用,直到目标函数有足够的下降。若找不到合适的 ,那 么遍历训练数据集;若仍找不到合适的 ,则放弃第 1 个 ,返回(1)重新选择 ; 3.计算阈值 b 和差值: (1) 的计算: 如果 如果 ; ; 或 ,那么 或; 中一个是 0,另一个是 C,那么 ; (2)差值 的计算(缓存 列表): ,其中 S 是支撑向量集合; 4.解析求解两个变量的最优化问题 (1)求无约束最优解 , : , 精品.资料 WORD 格式.分享 (2)求最优可行解 , : , , ,, , ; , ; 其中,如果 ,那么 ,那么 (3)更新 为 ; 5.若在精度 范围内满足下列停机条件,则转(6);否则令 (1) (2) , ; (3) ;其中: ,转(2); ; 6.取 ; ;如果 ; 精品.资料

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!