450 likes | 462 Views
机器学习基础. Machine Learning Basics. 计科 - 龙伟斌 1800271002. catalog. Introduction Optimization : Least Square Method , LSM Regression : Logistics Regression , LR Classification : Support Vector Machine,SVM Summary. Introduction. 什么是机器学习?. Introduction. 计算机编程能力(左上) 个人专业领域(下面) 数学统计学知识
E N D
机器学习基础 Machine Learning Basics 计科-龙伟斌 1800271002
catalog • Introduction • Optimization:Least Square Method,LSM • Regression:Logistics Regression,LR • Classification:Support Vector Machine,SVM • Summary
Introduction • 什么是机器学习?
Introduction 计算机编程能力(左上) 个人专业领域(下面) 数学统计学知识 (右上)
LSM • 线性拟合:
LSM • 经验方程 • 确定a,b
LSM • 考虑超定方程组,其误差函数: 即:
LSM • 问题变成了:求误差函数最小值问题 • (1)求出该误差函数的所有极值点 (2)找到这些极值点,选择最小的极值点就是该函数的最值 (3)驻点可能需要单独判断
LSM • 数学基础: • 法国数学家,阿德里安-馬里·勒讓德提出让总的误差的平方最小的y 就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动。 • 高斯通过误差概率分布, ,假设一个联合概率密度函数(似然函数):
LSM 当 成立时, 取得最大值。 如果最小二乘法成立,则当x 取平均值时取最大值。 如果误差的分布是正态分布,那么最小二乘法成立。
LR • 对于线性回归模型: 通常处理因变量为连续变量的问题。 若因变量为定性变量,不再适用。需采用逻辑回归解决。
LR • 逻辑回归在线性回归的基础上,添加了sigmoid函数,使其适用于二分类问题:
LR 将sigmoid函数与线性模型结合: 预测函数
LR • 构造损失函数 • 若使用线性回归中的均方误差和当代价函数 将预测函数代入,J(w)为非凸函数,意味着函数有许多的局部最小解,不利用问题求解。
LR • 利用极大似然法构造损失函数: • 表示结果取1的概率,则: 将(1)结合: 两边取对数:
LR • 所以损失函数(cross-entropy):
LR • 根据梯度下降算法不断迭代找到最佳的参数θ值: 可以看出,在每次更新回归系数θ时都需要遍历整个数据集,耗时严重。这时可以采用随机梯度下降法,这时每次迭代时需要将样本重新打乱,然后用下式不断更新权重。
LR • 对于逻辑回归的损失函数构成的模型,可能会有些权重很大,有些权重很小,导致过拟合,使得模型的复杂度提高,泛化能力较差。 • 正则化(Regularization)是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。
LR L1正则化损失函数表达式(举例): L2正则化损失函数表达式: Lambda为正则项系数: 如果它的值很大,说明对模型的复杂度惩罚大,对拟合数据的损失惩罚小,这样它就不会过分拟合数据,但是可能出现欠拟合的现象; 如果它的值很小,说明比较注重对训练数据的拟合,在训练数据上的偏差会小,但是可能会导致过拟合。
LR • SGD with Adaptable Stepsize
SVM • 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
SVM 置信风险 Ф(n/h) (样本数量/VC维) 经验风险 Remp(w) 真实风险:R(w)≤Remp(w)+Ф(n/h)
SVM • 优点: • 小样本 • 非线性 • 高维模式识别 • 提高泛化性能 • 缺点 • 缺失数据敏感。 • 内存消耗大
SVM • 线性函数:g(x)=wx+b => f(x)=sgn [g(x)] • 线性可分 (超平面) g(xi)>0 g(xi)<0
SVM 几何间隔 现在把w和b进行归一化处理,那么间隔就可以写成: 解析几何中点xi到超平面g(x)=0的距离公式。
SVM 几何间隔与样本的误分次数间存在关系: where:δ是样本集合到分类面的几何间隔, R=max ||xi||(i=1,...,n)即所有样本中向量长度最长的值。
SVM • 增加约束条件 把所有样本点中间隔最小的那一点的间隔定为1,则: yi[(w·xi)+b]≥1 (i=1,2,…,l) (l是总的样本数) 两分类问题转化成数学形式——一个带约束条件的最小值问题:
SVM 当点落在可行域边界上,即让约束条件等式成立时, 唯一决定了超平面,被称为支持向量。 SVM的一个重要性质: 训练完成之后,大部分的训练样本都不需要保留,最终的模型仅与支持向量有关。
SVM 线性分类器问题的描述: 在这个问题中,目标函数是w的二次函数,所有的约束条件都是w的线性函数。这种规划问题也叫做二次规划(Quadratic Programming,QP)。而且,由于它的可行域是一个凸集,因此是一个凸二次规划。凸二次规划的优点在于它有全局最优解。
SVM 通过拉格朗日对偶性来解决该凸二次规划问题 对于式(10)的每条约束添加拉格朗日乘子αi≥0,则该问题的拉格朗日函数可写为: Where:α⃗ =(α1,α2,…,αn)分别是对应着各个样本的拉格朗日乘子 将L(w⃗ ,b,α⃗ )对w⃗ 和b求偏导并将偏导数等于零可得: 将上式代回原式,即得原分类问题的对偶问题。
SVM • SVM问题的KKT条件 • 其实对于 即 满足Karush-Kuhn-Tucker(KKT)条件
SVM • 回到上面代入求解的优化问题: 求出α后,可以得到w和b,以及分隔超平面 w.T*x+b=0。 如何求解α呢, ——用二次规划算法求解 ——Sequential Minimal Optimization(SMO)算法
SVM • 坐标上升算法(Coordinate Ascent) 每次通过更新多元函数中的一维,经过多次迭代直到收敛来达到优化函数的目的。 但由于约束条件2,在SMO算法中我们每次需要选择一对变量 进行优化处理(对i进行修改,修改量与j相同,但方向相反),其它α作常数项处理。 对α值的选择
SVM • 如果样本线性不可分: • 二次曲线(非线性函数)
SVM • 新建一个向量y和a: g(x)就可以转化为f(y)=<a,y>=ay -> 线性函数 原来在二维空间中一个线性不可分的问题,映射到高维空间后,变成了线性可分的!因此也形成了我们最初想解决线性不可分问题的基本思路——向高维空间转化,使其变得线性可分。
SVM 但如果简单地映射到高维空间中,然后再根据内积的公式进行计算会带来维度爆炸,甚至结果不可计算。 因此需要直接在原来的低维空间中进行计算,并根据内积值进行分类。接受低维空间的输入值,却能算出高维空间的内积值的函数为核函数。
SVM • 几个比较常用的核函数如下:
SVM • 对核函数的选择,现在还缺乏指导原则。 • 在常用的核函数中,应用最广泛的是具有较好学习能力的径向基核函数(radial basis function,RBF) 核(又称高斯核),无论低维、高维、小样本、大样本等情况,RBF 核均适应,具有较宽的收敛域,是较为理想的分类依据函数。
SVM • 再来考虑下面这种情况(近似线性可分):
SVM • 在现实中很难找到一个超平面将不同类别的样本完全划分开,即很难找到合适的核函数使得训练样本在特征空间中线性可分。即使找到了一个可以使训练集在特征空间中完全分开的核函数,也很难确定这个线性可分的结果是不是由于过拟合导致的。 • 解决该问题的办法是在一定程度上运行SVM在一些样本上出错,为此引入了“软间隔”(soft margin)的概念(相对为硬间隔)。
SVM • 为此引入一个非负的松弛变量ξ(Slack Variables),把损失加入到目标函数里的时候,就需要一个惩罚因子(cost): • Where:ξ代表离群点离群的距离 C 代表离群点带来的损失的权重
Summary • SVM和LR区别: • 损失函数不同。 • LR对异常值敏感,SVM对异常值不敏感(抗噪能力,SVM比较好)。 • 支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局 • LR模型找到的那个超平面,是尽量让所有点都远离他,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些支持向量的样本。
Summary • SVM和LR区别: • 计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高。 • 当样本较少,特征维数较低时,SVM和LR的运行时间均比较短,SVM较短一些。准确率的话,LR明显比SVM要高。当样本稍微增加些时,SVM运行时间开始增长,但是准确率赶超了LR。SVM时间虽长,但在接收范围内。当数据量增长到20000时,特征维数增长到200时,SVM的运行时间剧烈增加,远远超过了LR的运行时间。但是准确率却和LR相差无几。(这其中主要原因是大量非支持向量参与计算,造成SVM的二次规划问题)
DOWNLOADSathttp://vcc.szu.edu.cn Thank You!