文章目录
拉格朗日对偶性
指数分布族与广义线性模型
在概率统计中,如果某概率分布满足下式子,我们称之为指数分布族。 p ( y ; η ) = b ( y ) e x p ( η T ( y ) − a ( η ) ) p(y;\eta)=b(y)exp(\eta^T(y)-a(\eta)) p(y;η)=b(y)exp(ηT(y)−a(η))
LR
思考:为什么LR是线性模型?
Logistic Regression推导
Logistic regression可以用来回归,也可以用来分类,主要是二分类。
-
Logistic 分布
设 X X X是连续随机变量, X X X服从logistic分布是指 X X X的概率分布函数与概率密度函数如下: F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) / γ F(x)=P(X\leq x)=\frac{1}{1+e^{-(x-\mu)/\gamma}} F(x)=P(X≤x)=1+e−(x−μ)/γ1 f ( x ) = F ′ ( x ) = e − ( x − μ ) / γ γ ( 1 + e − ( x − μ ) / γ ) 2 f(x)=F^{\prime}(x)=\frac {e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} f(x)=F′(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ公式中 μ \mu μ是位置参数, γ > 0 \gamma>0 γ>0为形状参数。 -
二项Logistic回归模型
二项Logistic回归模型是参数化的Logistic分布。其模型定义为: P ( Y = 1 ∣ X ) = e w ⋅ x + b 1 + e w ⋅ x + b P(Y=1|X)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}} P(Y=1∣X)=1+ew⋅x+bew⋅x+b P ( Y = 0 ∣ X ) = 1 1 + e w ⋅ x + b P(Y=0|X)=\frac{1}{1+e^{w\cdot x+b}} P(Y=0∣X)=1+ew⋅x+b1其中 w ∈ R n 和 b ∈ R n w\in R^n和b\in R^n w∈Rn和b∈Rn是参数, w w w称为权值向量, b b b称为偏置, x ∈ R n x\in R^n x∈Rn是输入, y ∈ { 0 , 1 } y\in \lbrace 0,1\rbrace y∈{0,1}是输出。给定输入的实例 x x x,按照上面两个公式求出对应的概率,比较两个条件概率值的大小,将实例 x x x分配到频率值较大的那一类。
有时为表示方便,将偏置归入权值向量中,同时扩充输入向量,即 w = ( w ( 1 ) , w ( 2 ) , ⋯ , w ( n ) , b ) w=(w^{(1)},w^{(2)},\cdots,w^{(n)},b) w=(w(1),w(2),⋯,w(n),b), x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( n ) , 1 ) x=(x^{(1)},x^{(2)},\cdots,x^{(n)},1) x=(x(1),x(2),⋯,x(n),1)这是可将Logistic模型表示如下: P ( Y = 1 ∣ X ) = e w ⋅ x 1 + e w ⋅ x P(Y=1|X)=\frac{e^{w\cdot x}}{1+e^{w\cdot x}} P(Y=1∣X)=1+ew⋅xew⋅x P ( Y = 0 ∣ X ) = 1 1 + e w ⋅ x P(Y=0|X)=\frac{1}{1+e^{w\cdot x}} P(Y=0∣X)=1+ew⋅x1
几率(odds) 的定义为:事件发生的概率与事件不发生的概率比值。对数几率(logit)函数为 l o g i t ( p ) = l o g p 1 − p logit(p)=log\frac{p}{1-p} logit(p)=log1−pp逻辑回归的对数几率为 l o g P ( Y = 1 ∣ X ) 1 − P ( Y = 1 ∣ X ) = w ⋅ x log\frac{P(Y=1|X)}{1-P(Y=1|X)}=w\cdot x log1−P(Y=1∣X)P(Y=1∣X)=w⋅xLogistic模型就是输出 Y = 1 Y=1 Y=1的对数几率为输入 x x x的线性函数表示的模型。Logistic模型能够将线性函数 w ⋅ x w\cdot x w⋅x转换为概率。 -
模型的参数估计
Logistic回归模型学习时,对于给定的数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\lbrace (x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\rbrace T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中 x i ∈ R n , y i ∈ { 0 , 1 } x_i\in R^n,y_i\in \lbrace 0,1\rbrace xi∈Rn,yi∈{0,1},采用极大似然估计法估计模型参数。设 P ( Y = 1 ∣ X ) = π ( x ) , P ( Y = 0 ∣ X ) = 1 − π ( x ) P(Y=1|X)=\pi(x),P(Y=0|X)=1-\pi(x) P(Y=1∣X)=π(x),P(Y=0∣X)=1−π(x)单个样本的似然函数表示为 P ( x i , y i ) = [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i P(x_i,y_i)=[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} P(xi,yi)=[π(xi)]yi[1−π(xi)]1−yi那么N个独立样本出现的似然函数为
L ( w ) = ∏ i = 1 N [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i L(w)=\prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} L(w)=i=1∏N[π(xi)]yi[1−π(xi)]1−yi对数似然函数为 l ( w ) = ∑ i = 1 N [ y i l o g π ( x i ) + ( 1 − y i ) l o g ( 1 − π ( x i ) ) ] l(w)=\sum_{i=1}^N[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))] l(w)=i=1∑N[yilogπ(xi)+(1−yi)log(1−π(xi))] = ∑ i = 1 N [ y i ( w ⋅ x i ) − l o g ( 1 + e x p ( w ⋅ x i ) ) ] =\sum_{i=1}^N[y_i(w\cdot x_i)-log(1+exp(w\cdot x_i))] =i=1∑N[yi(w⋅xi)−log(1+exp(w⋅xi))] l ( w ) l(w) l(w)这个似然函数就是代价函数。求其求极大值,即得到参数 w w w的估计值。
对 l ( w ) l(w) l(w)的 w w w进行求导 ∂ l ( w ) ∂ w = ∑ i = 1 N y i x i − ∑ i = 1 N e w ⋅ x 1 + e w ⋅ x x i = ∑ i = 1 N ( y i − s i g m o i d ( w ⋅ x i ) ) x i \frac{\partial l(w)}{\partial w}=\sum_{i=1}^Ny_ix_i-\sum_{i=1}^N\frac{e^{w\cdot x}}{1+e^{w\cdot x}}x_i=\sum_{i=1}^N(y_i-sigmoid(w\cdot x_i))x_i ∂w∂l(w)=i=1∑Nyixi−i=1∑N1+ew⋅xew⋅xxi=i=1∑N(yi−sigmoid(w⋅xi))xi而在求解过程中发现无法利用公式求导结果为0的方式将参数 w w w的解析解求出来,因此通常采用迭代算法进行求解。这时的目标函数是光滑的凸函数,因此多种最优化方法都比较适用。常用有梯度下降法、拟牛顿法。 -
模型的求解方法
- 梯度下降法(Gradient Descent)
w ( k + 1 ) = w ( k ) + α ∂ l ∂ w w^{(k+1)}=w^{(k)}+\alpha\frac{\partial l}{\partial w} w(k+1)=w(k)+α∂w∂l - 拟牛顿法
多项Logistic回归
多项Logistic回归模型用于多类分类,假设离散随机变量 Y Y Y的取值集合为 { 1 , 2 , ⋯ , K } \lbrace 1,2,\cdots,K\rbrace {1,2,⋯,K}那么多项Logistic模型是 P ( Y = k ∣ x ) = e x p ( w k ⋅ x ) 1 + ∑ k = 1 K − 1 e x p ( w k ⋅ x ) , k = 1 , 2 , ⋯ , K − 1 P(Y=k|x)=\frac{exp(w_k\cdot x)}{1+\sum_{k=1}^{K-1}exp(w_k\cdot x)},k=1,2,\cdots,K-1 P(Y=k∣x)=1+∑k=1K−1exp(wk⋅x)exp(wk⋅x),k=1,2,⋯,K−1 P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 e x p ( w k ⋅ x ) P(Y=K|x)=\frac{1}{1+\sum_{k=1}^{K-1}exp(w_k\cdot x)} P(Y=K∣x)=1+∑k=1K−1exp(wk⋅x)1
从神经网络的角度看LR
逻辑回归模型可以看作是只包含一个神经元的简单神经网络。逻辑回归的预测输出为 y ^ = S i g m o i d ( w ⋅ x + b ) \hat y=Sigmoid(w\cdot x+b) y^=Sigmoid(w⋅x+b)这里的Sigmoid函数是非线性的 S S S型函数,输出限定在[0,1]之间,通常作为神经网络中的激活函数使用。 S i g m o i d ( z ) = 1 1 + e − z Sigmoid(z)=\frac{1}{1+e^{-z}} Sigmoid(z)=1+e−z1
LR的优点
- 直接对分类的可能性进行建模,无需事先假设数据分布,这就避免了因为假设分布不准确带来的问题;
- 不仅预测出来类别,还得到了近似概率的预测,这对许多需要利用概率辅助决策的任务有用;
- 对数函数是任意阶可导的凸函数,有很好的数学性质,很多数值优化算法都能直接用于求取最优解;
- LR广泛应用于工业问题中。
LR的缺点
- 当特征空间很大时,逻辑回归的性能不是很好;
- 不能很好地处理大量多类特征或变量;
- 对于非线性特征,需要进行转换;
- 依赖于全部的数据(个人觉得这并不是一个很严重的缺点)。
LR损失函数为什么不适用最小二乘?当用lr时,特征中的某些值很大,意味着这个特征重要程度很高?
LR损失函数的最小二乘定义的损失函数不是凸函数,容易在迭代过程中进入局部最优;不对,用lr时需要对特征进行离散化,离散化后模型更稳定。
为什么LR的输入特征一般是离散的而不是连续的?
在工业界,很少直接将连续值作为特征喂给逻辑回归模型,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:
-
稀疏向量内积乘法运算速度快,计算结果方便存储,容易scalable(扩展);
-
离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
-
逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
-
离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
-
特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,而划分区间是门学问。
LR如何实现多分类
采用Softmax模型进行多分类。
LR与线性回归的区别与联系
LR与SVM
- 为什么将LR与SVM放在一起进行比较?(等价于问两者有什么相同点)
- 两者都是分类算法;
- 不考虑核函数的情况下,两者都是线性分类算法,它们的分类决策面是线性的;
- 都是监督学习算法;
- 都是判别模型;
- 在学术界与工业界都应用广泛。
- LR与SVM的不同
- 损失函数不同,逻辑回归采用的是Logistical Loss,SVM采用的是hinge loss.这两个损失函数的目的都是为了增加对分类影响较大的数据点的权重,减少与分类关系较小点的权重。
- 支持向量机只考虑局部的边界线附近的点——改变非支持向量不会引起决策面的改变,LR考虑所有的数据点——任何样本的改变都会引起决策面的变化;
- 解决非线性问题时,SVM采用核函数的机制,而LR通常不采用核函数的方法。
- SVM是结构风险最小化算法,自带正则化项,而LR需要在损失函数上添加正则化项。
- SVM依赖数据表达的距离测度,所以需要对数据先做normalization,LR不受其影响。
MaxEnt(最大熵)模型
支持向量机(SVM)
支持向量机是一种二分类模型,其基本模型是定义在特征空间的间隔最大的线性分类器;支持向量机包含核技巧使它成为实质上的非线性分类器,利用核函数可以学习非线性支持向量机,等价于隐式的在高维空间中学习线性支持向量机。支持向量机的学习策略是间隔最大化,可形式为求解凸二次规划问题,也等价于正则化的合页损失函数的最小化问题。
支持向量机推导过程
假设给定一个特征空间的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\lbrace(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\rbrace T={(x1,y1),(x2,y2),⋯,(xN,yN)}其中, x i ∈ χ = R n , y i ∈ y = { − 1 , 1 } , i = 1 , 2 , ⋯ , N x_i\in\chi=R^n,y_i\in y=\lbrace-1,1\rbrace,i=1,2,\cdots,N xi∈χ=Rn,yi∈y={−1,1},i=1,2,⋯,N.
线性可分支持向量机推导过程
- 已知函数间隔和几何间隔
- 支持向量机的基本思想就是求解能够正确划分训练数据集且几何间隔最大的分离超平面。因此能够将这个问题表示为下面这个最优化问题: m a x w , b γ max_{w,b} \ \ \gamma maxw,b γ s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , ⋯ , N s.t.\ \ \ y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||})\geq\gamma,i=1,2,\cdots,N s.t. yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,⋯,N根据函数间隔和几何间隔的关系,且函数间隔 γ ^ \hat\gamma γ^的取值不影响最优化问题的解,取函数间隔 γ ^ = 1 , \hat\gamma=1, γ^=1,因此可以得到等价的凸二次规划问题: m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 min_{w,b}\ \ \frac{1}{2}||w||^2 minw,b 21∣∣w∣∣2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯ , N s.t.\ \ \ y_i(w\cdot x_i+b)-1\geq0, i=1,2,\cdots,N s.t. yi(w⋅xi+b)−1≥0,i=1,2,⋯,N
- 线性可分支持向量机的对偶算法:根据拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。采用对偶问题的优点,一是对偶问题往往更容易求解;二是引用了核函数可以自然推广到非线性分类问题.
引入拉格朗日乘子 α i ≥ 0 , i = 1 , 2 , ⋯ , N \alpha_i\geq0,i=1,2,\cdots,N αi≥0,i=1,2,⋯,N构建拉格朗日函数。 L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w\cdot x_i+b)+\sum_{i=1}^N\alpha_i L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi其中, α = ( α 1 , α 2 , ⋯ , α N ) T \alpha=(\alpha_1,\alpha_2,\cdots,\alpha_N)^T α=(α1,α2,⋯,αN)T为拉格朗日乘子向量。根据拉格朗日对偶性,原始问题是极小极大问题,对偶问题是极大极小问题: m a x α m i n w , b L ( w , b , α ) max_\alpha min_{w,b} L(w,b,\alpha) maxαminw,bL(w,b,α)先求解 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)对 w , b w,b w,b的极小,再求对 α \alpha α的极大。
(1)求 m i n w , b L ( w , b , α ) min_{w,b}\ \ L(w,b,\alpha) minw,b L(w,b,α),分别对 w , b w,b w,b求偏导并且令其等于0.
∇ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 \nabla_wL(w,b,\alpha)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 ∇wL(w,b,α)=w−i=1∑Nαiyixi=0 ∇ b L ( w , b , α ) = − ∑ i = 1 N α i y i = 0 \nabla_bL(w,b,\alpha)=-\sum_{i=1}^N\alpha_iy_i=0 ∇bL(w,b,α)=−i=1∑Nαiyi=0得 w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^N\alpha_iy_ix_i w=i=1∑Nαiyixi ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 i=1∑Nαiyi=0将上两式代入拉格朗日函数中得 m i n w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ i = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i min_{w,b}L(w,b,\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{i=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i minw,bL(w,b,α)=−21i=1∑Ni=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
(2)求 m i n α L ( w , b , α ) min_{\alpha}L(w,b,\alpha) minαL(w,b,α)对 α \alpha α的极大,即对偶问题 m a x α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i max_{\alpha} \ \ -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i maxα −21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi s . t . ∑ i = 1 N α i y i = 0 s.t.\ \ \ \ \ \sum_{i=1}^N\alpha_iy_i=0 s.t. i=1∑Nαiyi=0 α i ≥ 0 , i = 1 , 2 , ⋯ , N \alpha_i\geq0,i=1,2,\cdots,N αi≥0,i=1,2,⋯,N将上述目标函数由极大转换为极小函数,得到与其等价的对偶最优化问题 m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i min_{\alpha} \ \ \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i minα 21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi s . t . ∑ i = 1 N α i y i = 0 s.t.\ \ \ \ \ \sum_{i=1}^N\alpha_iy_i=0 s.t. i=1∑Nαiyi=0 α i ≥ 0 , i = 1 , 2 , ⋯ , N \alpha_i\geq0,i=1,2,\cdots,N αi≥0,i=1,2,⋯,N
对线性可分数据集,假设对偶最优化问题对 α \alpha α的解为 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯ , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T α∗=(α1∗,α2∗,⋯,αN∗)T可以根据 α ∗ \alpha^* α∗求原始问题的解 w ∗ , b ∗ w^*,b^* w∗,b∗ ( K K T 条 件 ) \color{red}{(KKT条件)} (KKT条件):
w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w∗=i=1∑Nαi∗yixi其中至少有一个 α j ∗ > 0 \alpha_j^*>0 αj∗>0,对此 j j j有 y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*\cdot x_j+b^*)-1=0 yj(w∗⋅xj+b∗)−1=0将上两式合并求出
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j) b∗=yj−i=1∑Nαi∗yi(xi⋅xj)由此定理可知,分离超平面可以写成 ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*=0 i=1∑Nαi∗yi(x⋅xi)+b∗=0分类决策函数可以写成 f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=sign(\sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*) f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
线性支持向量机
对线性支持向量机学习来说,其模型为分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0及决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗),学习策略是软间隔最大化,学习算法是凸二次规划。线性支持向量机学习还有另外一种解释——结构风险最小化。
-
形式1
修改硬间隔最大化为软间隔最大化。对每个样本点引入松弛变量 ξ i ≥ 0 \xi_i\geq0 ξi≥0.线性不可分的线性支持向量机的原始问题变为: m i n w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i min_{w,b,\xi}\ \ \ \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i minw,b,ξ 21∣∣w∣∣2+Ci=1∑Nξi s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯ , N s.t. \ \ \ \ y_i(w\cdot x_i+b)\geq1-\xi_i \ \ ,i=1,2,\cdots,N s.t. yi(w⋅xi+b)≥1−ξi ,i=1,2,⋯,N ξ i ≥ 0 , i = 1 , 2 , ⋯ , N \xi_i\geq0,i=1,2,\cdots,N ξi≥0,i=1,2,⋯,N
此原始问题的对偶问题变为 m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i min_{\alpha} \ \ \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i minα 21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi s . t . ∑ i = 1 N α i y i = 0 s.t.\ \ \ \ \ \sum_{i=1}^N\alpha_iy_i=0 s.t. i=1∑Nαiyi=0 0 ≤ α i ≥ C , i = 1 , 2 , ⋯ , N 0\leq\alpha_i\geq C,i=1,2,\cdots,N 0≤αi≥C,i=1,2,⋯,N
当原始最优化问题满足KKT条件时,其原始问题的解与对偶问题的解相同。设 α ∗ = ( α i ∗ , α 2 ∗ , ⋯ , α N ∗ ) T \alpha^*=(\alpha_i^*,\alpha_2^*,\cdots,\alpha_N^*)^T α∗=(αi∗,α2∗,⋯,αN∗)T是对偶问题的一个解,若存在 α ∗ \alpha^* α∗的一个分量 α j ∗ , 0 < α j ∗ , < C \alpha^*_j,0<\alpha^*_j,<C αj∗,0<αj∗,<C,则原始问题的解 w ∗ , b ∗ w^*,b^* w∗,b∗为: w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w∗=i=1∑Nαi∗yixi b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_i\cdot x_j) b∗=yj−i=1∑Nyiαi∗(xi⋅xj) -
形式2
线性支持向量机的结构风险最小化表示为 ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^N[1-y_i(w\cdot x_i+b)]_++\lambda||w||^2 i=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2其第一项经验风险采用合页损失函数。
非线性支持向量机
分类问题是非线性的,可以使用非线性可分支持向量机。主要特点是利用核技巧。用线性分类方法求解非线性问题分为两步:首先使用一个变换将原空间的数据映射到新空间;然后在新空间里采用线性分类学习方法从训练数据集中学习分类模型。
线性支持向量机的目标函数及决策函数都涉及到内积。可将内积
x
i
⋅
x
j
x_i\cdot x_j
xi⋅xj使用
K
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
⋅
ϕ
(
x
j
)
K(x_i,x_j)=\phi(x_i)\cdot\phi(x_j)
K(xi,xj)=ϕ(xi)⋅ϕ(xj)来代替。由此对偶问题的目标函数为
W
(
α
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
W(\alpha)=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\sum_{i=1}^N\alpha_i
W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
分类决策函数中的内积也可以使用核函数替代:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
s
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
)
f(x)=sign(\sum_{i=1}^{N_s}\alpha^*_iy_iK(x_i,x)+b)
f(x)=sign(i=1∑Nsαi∗yiK(xi,x)+b)
在核函数
K
(
x
i
,
x
j
)
K(x_i,x_j)
K(xi,xj)给定的条件下,可以利用线性分类问题的方法求解非线性分类问题的支持向量机。学习是隐式地在特征空间进行的,不需要显式地定义特征空间和特征函数。
- 常用核函数
- 多项式核函数 K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z)=(x\cdot z+1)^p K(x,z)=(x⋅z+1)p
- 高斯核函数
K
(
x
,
z
)
=
e
x
p
(
−
∣
∣
x
−
z
∣
∣
2
2
σ
2
)
K(x,z)=exp(-\frac{||x-z||^2}{2\sigma^2})
K(x,z)=exp(−2σ2∣∣x−z∣∣2)
高斯核函数能够将原始空间映射到无穷维空间中,映射到高维空间后,所有的样本点分布在以原点为圆心半径为1的1/4球面上。 - 对核函数的理解
实际情况下经常遇到线性不可分的数据,常用做法就是将特征映射到高维空间中。如果在高维空间中进行计算十分复杂,而核函数实现了低维空间上的计算及高维空间上的分类效果。
SVM中核函数的选择
SVM中常用的核函数为高斯核rbf、线性核linear。通常对数据集情况不明时使用高斯核,对于文本数据等已知线性可分的数据可以用线性核。吴恩达对此问题的观点是:
- 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
- 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
- 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况
序列最小最优化算法
Softmax模型
Logistic是Softmax的特殊形式,Softmax可以理解为多项分布的指数簇分布,指数簇分布都是具有最大熵性质的,其最大熵形式为指数簇分布的似然形式。
给定训练数据
{
x
(
i
)
,
y
(
i
)
}
i
=
1
m
\lbrace x^{(i)},y^{(i)}\rbrace_{i=1}^m
{x(i),y(i)}i=1m这里
x
(
i
)
∈
R
N
,
y
(
i
)
∈
R
x^{(i)}\in R^N,y^{(i)}\in R
x(i)∈RN,y(i)∈R且
y
(
i
)
y^{(i)}
y(i)取值
1
,
2
,
⋯
,
K
1,2,\cdots,K
1,2,⋯,K代表类别。
h
k
(
x
)
=
e
w
k
T
x
∑
j
e
w
j
T
x
h_k(x)=\frac{e^{w_k^Tx}}{\sum_je^{w_j^Tx}}
hk(x)=∑jewjTxewkTx这里
h
k
(
x
)
h_k(x)
hk(x)代表
x
x
x属于类别
k
k
k的概率,且
∑
k
h
k
(
x
)
=
1
\sum_kh_k(x)=1
∑khk(x)=1,训练数据的log似然函数形式如下:
L
(
w
)
=
∑
i
l
o
g
h
y
(
i
)
(
x
(
i
)
)
L(w)=\sum_ilogh_{y^(i)}(x^{(i)})
L(w)=i∑loghy(i)(x(i))对于
k
=
1
,
2
,
⋯
,
K
k=1,2,\cdots,K
k=1,2,⋯,K,对似然函数求导令其为0可得:
∂
L
(
w
)
∂
w
k
=
0
\frac{\partial L(w)}{\partial w_k}=0
∂wk∂L(w)=0
与LR相关的模型:
朴素贝叶斯(NB) , 最大熵(MaxEnt) (逻辑回归, LR),隐马尔科夫模型(HMM), 最大熵马尔科夫模型(MEMM), 条件随机场(CRF) 这几个模型之间有着某些联系。
参考内容
https://blog.csdn.net/red_stone1/article/details/78018269
https://zhuanlan.zhihu.com/p/34261803
https://www.cnblogs.com/ooon/p/5829341.html