企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 5 -- Kernel Logistic Regression 上节课我们主要介绍了Soft-Margin SVM,即如果允许有分类错误的点存在,那么在原来的Hard-Margin SVM中添加新的惩罚因子C,修正原来的公式,得到新的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)值。最终的到的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)有个上界,上界就是C。Soft-Margin SVM权衡了large-margin和error point之前的关系,目的是在尽可能犯更少错误的前提下,得到最大分类边界。本节课将把Soft-Margin SVM和我们之前介绍的Logistic Regression联系起来,研究如何使用kernel技巧来解决更多的问题。 ### **Soft-Margin SVM as Regularized Model** 先复习一下我们已经介绍过的内容,我们最早开始讲了Hard-Margin Primal的数学表达式,然后推导了Hard-Margin Dual形式。后来,为了允许有错误点的存在(或者noise),也为了避免模型过于复杂化,造成过拟合,我们建立了Soft-Margin Primal的数学表达式,并引入了新的参数C作为权衡因子,然后也推导了其Soft-Margin Dual形式。因为Soft-Margin Dual SVM更加灵活、便于调整参数,所以在实际应用中,使用Soft-Margin Dual SVM来解决分类问题的情况更多一些。 ![这里写图片描述](https://img.kancloud.cn/e9/2d/e92dd7074b9b2ee604e04e5865a6bca4_563x297.jpg) Soft-Margin Dual SVM有两个应用非常广泛的工具包,分别是Libsvm和Liblinear。 Libsvm和Liblinear都是国立台湾大学的Chih-Jen Lin博士开发的,Chih-Jen Lin的个人网站为:[Welcome to Chih-Jen Lin’s Home Page](http://www.csie.ntu.edu.tw/~cjlin/index.html) 下面我们再来回顾一下Soft-Margin SVM的主要内容。我们的出发点是用![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)来表示margin violation,即犯错值的大小,没有犯错对应的![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)。然后将有条件问题转化为对偶dual形式,使用QP来得到最佳化的解。 从另外一个角度来看,![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)描述的是点![](https://img.kancloud.cn/9d/1a/9d1a5d7c1e5b2f5533cedbe4eecb4fbe_56x18.jpg) 距离![](https://img.kancloud.cn/e3/38/e338226fa144adc373be876bedbf09cd_133x20.jpg)的边界有多远。第一种情况是violating margin,即不满足![](https://img.kancloud.cn/1e/d0/1ed09660e5a3a86a823b4ea9de999b55_134x20.jpg)。那么![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)可表示为:![](https://img.kancloud.cn/21/c8/21c88dfa0bb17afaa0c9b25c0bd50679_206x20.jpg)。第二种情况是not violating margin,即点![](https://img.kancloud.cn/9d/1a/9d1a5d7c1e5b2f5533cedbe4eecb4fbe_56x18.jpg) 在边界之外,满足![](https://img.kancloud.cn/1e/d0/1ed09660e5a3a86a823b4ea9de999b55_134x20.jpg)的条件,此时![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)。我们可以将两种情况整合到一个表达式中,对任意点: ![](https://img.kancloud.cn/bf/02/bf02f58c5c4a4c15693ddc532ecec4b7_238x20.jpg) 上式表明,如果有voilating margin,则![](https://img.kancloud.cn/02/b5/02b59d7abfc643410d697d9cf51591b8_165x20.jpg),![](https://img.kancloud.cn/c9/7e/c97e19da4b3ccfac119e3abe04817602_173x20.jpg);如果not violating margin,则![](https://img.kancloud.cn/57/75/5775408e0833979dbf990ad6ee341c84_165x20.jpg),![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)。整合之后,我们可以把Soft-Margin SVM的最小化问题写成如下形式: ![](https://img.kancloud.cn/96/53/96531a266e5b247adcc06d1455943eda_314x54.jpg) 经过这种转换之后,表征犯错误值大小的变量![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)就被消去了,转而由一个max操作代替。 ![这里写图片描述](https://img.kancloud.cn/9d/f4/9df4a14ecf450e91015561daf6c4d7ca_588x374.jpg) 为什么要将把Soft-Margin SVM转换为这种unconstrained form呢?我们再来看一下转换后的形式,其中包含两项,第一项是w的内积,第二项关于y和w,b,z的表达式,似乎有点像一种错误估计![](https://img.kancloud.cn/d4/a4/d4a4c9bc29e42c640420fb9aefcb096f_25x13.jpg),则类似这样的形式: ![](https://img.kancloud.cn/62/b6/62b6621ab2640634c795c33837300144_181x37.jpg) 看到这样的形式我们应该很熟悉,因为之前介绍的L2 Regularization中最优化问题的表达式跟这个是类似的: ![](https://img.kancloud.cn/19/59/19598d927d49b0cbe8fbedee6aaef529_194x37.jpg) ![这里写图片描述](https://img.kancloud.cn/73/c0/73c06185f1c49a51aba9250eec808a1e_583x242.jpg) 这里提一下,既然unconstrained form SVM与L2 Regularization的形式是一致的,而且L2 Regularization的解法我们之前也介绍过,那么为什么不直接利用这种方法来解决unconstrained form SVM的问题呢?有两个原因。一个是这种无条件的最优化问题无法通过QP解决,即对偶推导和kernel都无法使用;另一个是这种形式中包含的max()项可能造成函数并不是处处可导,这种情况难以用微分方法解决。 我们在第一节课中就介绍过Hard-Margin SVM与Regularization Model是有关系的。Regularization的目标是最小化![](https://img.kancloud.cn/1a/7b/1a7b854be0e1a2c00757595948b96a68_25x15.jpg),条件是![](https://img.kancloud.cn/9f/23/9f23c7d811876d26cb3739761398ff31_75x19.jpg),而Hard-Margin SVM的目标是最小化![](https://img.kancloud.cn/e5/d0/e5d085ef2bc7dc30c7a6aae8393e47d4_37x16.jpg),条件是![](https://img.kancloud.cn/ee/11/ee1179c7ba76c387ed2d14d1f656f2c9_60x15.jpg),即它们的最小化目标和限制条件是相互对调的。对于L2 Regularization来说,条件和最优化问题结合起来,整体形式写成: ![](https://img.kancloud.cn/cb/8a/cb8a875b162833c343071c0ac2fbac1e_102x37.jpg) 而对于Soft-Margin SVM来说,条件和最优化问题结合起来,整体形式写成: ![](https://img.kancloud.cn/30/da/30da5ecb7b678a63f6fc70703d7c0230_125x37.jpg) ![这里写图片描述](https://img.kancloud.cn/b9/eb/b9ebc107ebef68e882c7a54f1d82e72f_578x138.jpg) 通过对比,我们发现L2 Regularization和Soft-Margin SVM的形式是相同的,两个式子分别包含了参数![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)和C。Soft-Margin SVM中的large margin对应着L2 Regularization中的short w,也就是都让hyperplanes更简单一些。我们使用特别的![](https://img.kancloud.cn/d4/a4/d4a4c9bc29e42c640420fb9aefcb096f_25x13.jpg)来代表可以容忍犯错误的程度,即soft margin。L2 Regularization中的![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)和Soft-Margin SVM中的C也是相互对应的,![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)越大,w会越小,Regularization的程度就越大;C越小,![](https://img.kancloud.cn/b7/bf/b7bf061515c8aa0551ec0d8c3e01fe58_25x20.jpg)会越大,相应的margin就越大。所以说增大C,或者减小![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg),效果是一致的,Large-Margin等同于Regularization,都起到了防止过拟合的作用。 ![这里写图片描述](https://img.kancloud.cn/0f/2c/0f2c52496d319506fa0b6281265feabe_579x113.jpg) 建立了Regularization和Soft-Margin SVM的关系,接下来我们将尝试看看是否能把SVM作为一个regularized的模型进行扩展,来解决其它一些问题。 ### **SVM versus Logistic Regression** 上一小节,我们已经把Soft-Margin SVM转换成无条件的形式: ![这里写图片描述](https://img.kancloud.cn/51/6c/516c3bc4494cbeda9420f6a8eda5ea16_572x63.jpg) 上式中第二项的![](https://img.kancloud.cn/3c/2e/3c2eb812d7dea385ee80cde01a8310fc_198x20.jpg)倍设置为![](https://img.kancloud.cn/d4/a4/d4a4c9bc29e42c640420fb9aefcb096f_25x13.jpg)。下面我们来看看![](https://img.kancloud.cn/d4/a4/d4a4c9bc29e42c640420fb9aefcb096f_25x13.jpg)与之前再二元分类中介绍过的![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)有什么关系。 对于![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg),它的linear score ![](https://img.kancloud.cn/f7/50/f750c30765b7b57c00523c7228726774_103x19.jpg),当![](https://img.kancloud.cn/9c/bc/9cbc1503e74e4117d02bc0594c3c093d_51x16.jpg)时,![](https://img.kancloud.cn/04/63/04633e410c2cba66b9eeb8491d8b0721_78x18.jpg);当![](https://img.kancloud.cn/4f/5f/4f5f1ee5577d80f5fde15373087b9590_51x16.jpg)时,![](https://img.kancloud.cn/e7/02/e702cd1077901c02dc6e66e1bc43c3d5_77x18.jpg),呈阶梯状,如下图所示。而对于![](https://img.kancloud.cn/d4/a4/d4a4c9bc29e42c640420fb9aefcb096f_25x13.jpg),当![](https://img.kancloud.cn/9c/bc/9cbc1503e74e4117d02bc0594c3c093d_51x16.jpg)时,![](https://img.kancloud.cn/04/63/04633e410c2cba66b9eeb8491d8b0721_78x18.jpg);当![](https://img.kancloud.cn/4f/5f/4f5f1ee5577d80f5fde15373087b9590_51x16.jpg)时,![](https://img.kancloud.cn/ba/0d/ba0daefef1f402ee4ab282161eec84ca_118x18.jpg),呈折线状,如下图所示,通常把![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)称为hinge error measure。比较两条error曲线,我们发现![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)始终在![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)的上面,则![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)可作为![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)的上界。所以,可以使用![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)来代替![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg),解决二元线性分类问题,而且![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)是一个凸函数,使它在最佳化问题中有更好的性质。 ![这里写图片描述](https://img.kancloud.cn/4c/a9/4ca9dfc2dee28bbee04fbff50d0fc889_587x257.jpg) 紧接着,我们再来看一下logistic regression中的error function。逻辑回归中,![](https://img.kancloud.cn/06/63/06637b53f3035af4e2a68492b798b54c_215x18.jpg),当ys=0时,![](https://img.kancloud.cn/13/27/132778ad0ed4c9ea7edd48682613172a_76x15.jpg)。它的err曲线如下所示。 ![这里写图片描述](https://img.kancloud.cn/f2/b1/f2b1de60fa7956d981675005f5e672ab_589x285.jpg) 很明显,![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)也是![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)的上界,而![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)与![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)也是比较相近的。因为当ys趋向正无穷大的时候,![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)和![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)都趋向于零;当ys趋向负无穷大的时候,![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)和![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg)都趋向于正无穷大。正因为二者的这种相似性,我们可以把SVM看成是L2-regularized logistic regression。 总结一下,我们已经介绍过几种Binary Classification的Linear Models,包括PLA,Logistic Regression和Soft-Margin SVM。PLA是相对简单的一个模型,对应的是![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg),通过不断修正错误的点来获得最佳分类线。它的优点是简单快速,缺点是只对线性可分的情况有用,线性不可分的情况需要用到pocket算法。Logistic Regression对应的是![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg),通常使用GD/SGD算法求解最佳分类线。它的优点是凸函数![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)便于最优化求解,而且有regularization作为避免过拟合的保证;缺点是![](https://img.kancloud.cn/46/5b/465b6a3939c2ba4b60fceb7a9d2025e4_43x11.jpg)作为![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)的上界,当ys很小(负值)时,上界变得更宽松,不利于最优化求解。Soft-Margin SVM对应的是![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg),通常使用QP求解最佳分类线。它的优点和Logistic Regression一样,凸优化问题计算简单而且分类线比较“粗壮”一些;缺点也和Logistic Regression一样,当ys很小(负值)时,上界变得过于宽松。其实,Logistic Regression和Soft-Margin SVM都是在最佳化![](https://img.kancloud.cn/78/f5/78f5face8df8bf2172ec9e235e239e83_43x14.jpg)的上界而已。 ![这里写图片描述](https://img.kancloud.cn/b5/01/b501f44dbeaeb59bdef0319dfaba4aa2_585x316.jpg) 至此,可以看出,求解regularized logistic regression的问题等同于求解soft-margin SVM的问题。反过来,如果我们求解了一个soft-margin SVM的问题,那这个解能否直接为regularized logistic regression所用?来预测结果是正类的几率是多少,就像regularized logistic regression做的一样。我们下一小节将来解答这个问题。 ### **SVM for Soft Binary Classification** 接下来,我们探讨如何将SVM的结果应用在Soft Binary Classification中,得到是正类的概率值。 第一种简单的方法是先得到SVM的解![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg),然后直接代入到logistic regression中,得到![](https://img.kancloud.cn/1b/9b/1b9b847f1109da679b0e7b4424be1463_182x21.jpg)。这种方法直接使用了SVM和logistic regression的相似性,一般情况下表现还不错。但是,这种形式过于简单,与logistic regression的关联不大,没有使用到logistic regression中好的性质和方法。 第二种简单的方法是同样先得到SVM的解![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg),然后把![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg)作为logistic regression的初始值,再进行迭代训练修正,速度比较快,最后,将得到的b和w代入到g(x)中。这种做法有点显得多此一举,因为并没有比直接使用logistic regression快捷多少。 ![这里写图片描述](https://img.kancloud.cn/31/c6/31c6b58ca51ed9379a1c8cb80b851767_561x273.jpg) 这两种方法都没有融合SVM和logistic regression各自的优势,下面构造一个模型,融合了二者的优势。构造的模型g(x)表达式为: ![](https://img.kancloud.cn/15/ed/15ed4d769ff21f537a0080e25550b1ec_286x21.jpg) 与上述第一种简单方法不同,我们额外增加了放缩因子A和平移因子B。首先利用SVM的解![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg)来构造这个模型,放缩因子A和平移因子B是待定系数。然后再用通用的logistic regression优化算法,通过迭代优化,得到最终的A和B。一般来说,如果![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg)较为合理的话,满足A>0且![](https://img.kancloud.cn/1e/e8/1ee8842d3a7b76c0d11dd82fb71f91bf_48x12.jpg)。 ![这里写图片描述](https://img.kancloud.cn/c2/b4/c2b4d039d93aa0f26e4f9c7bad08720e_579x175.jpg) 那么,新的logistic regression表达式为: ![这里写图片描述](https://img.kancloud.cn/0c/f3/0cf346c3051016ca877ee00f7816141a_577x125.jpg) 这个表达式看上去很复杂,其实其中的![](https://img.kancloud.cn/fa/22/fa220017aac47ecbde8042158d9a93d5_90x18.jpg)已经在SVM中解出来了,实际上的未知参数只有A和B两个。归纳一下,这种Probabilistic SVM的做法分为三个步骤: ![这里写图片描述](https://img.kancloud.cn/1c/50/1c50798ce80ae50f2decd010b02e3c1b_580x182.jpg) 这种soft binary classifier方法得到的结果跟直接使用SVM classifier得到的结果可能不一样,这是因为我们引入了系数A和B。一般来说,soft binary classifier效果更好。至于logistic regression的解法,可以选择GD、SGD等等。 ### **Kernel Logistic Regression** 上一小节我们介绍的是通过kernel SVM在z空间中求得logistic regression的近似解。如果我们希望直接在z空间中直接求解logistic regression,通过引入kernel,来解决最优化问题,又该怎么做呢?SVM中使用kernel,转化为QP问题,进行求解,但是logistic regression却不是个QP问题,看似好像没有办法利用kernel来解决。 我们先来看看之前介绍的kernel trick为什么会work,kernel trick就是把z空间的内积转换到x空间中比较容易计算的函数。如果w可以表示为z的线性组合,即![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)的形式,那么乘积项![](https://img.kancloud.cn/e9/c6/e9c654ad865e51a3f3b8f170c5b6e3d4_272x54.jpg),即其中包含了z的内积。也就是w可以表示为z的线性组合是kernel trick可以work的关键。 我们之前介绍过SVM、PLA包扩logistic regression都可以表示成z的线性组合,这也提供了一种可能,就是将kernel应用到这些问题中去,简化z空间的计算难度。 ![这里写图片描述](https://img.kancloud.cn/7b/25/7b250480637200a3661afc09ae66b485_584x176.jpg) 有这样一个理论,对于L2-regularized linear model,如果它的最小化问题形式为如下的话,那么最优解![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)。 ![这里写图片描述](https://img.kancloud.cn/0b/d7/0bd734b1c8c7dd371287b95127329de4_579x136.jpg) 下面给出简单的证明,假如最优解![](https://img.kancloud.cn/3d/6e/3d6ea39b6eeebe0fb0655bb6ff010f60_110x17.jpg)。其中,![](https://img.kancloud.cn/7d/b3/7db3b2f95e0a689ef19d99bbc9bc5848_20x14.jpg)和![](https://img.kancloud.cn/75/ef/75ef640a4242528f65ca9cad69bf21bf_23x11.jpg)分别是平行z空间和垂直z空间的部分。我们需要证明的是![](https://img.kancloud.cn/d6/df/d6df1f8c55118b3d1f5110d9d8d4d9af_57x15.jpg)。利用反证法,假如![](https://img.kancloud.cn/26/56/26567d63a70959ce5d0ae51622f57ddb_57x18.jpg),考虑![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)与![](https://img.kancloud.cn/7d/b3/7db3b2f95e0a689ef19d99bbc9bc5848_20x14.jpg)的比较。第一步先比较最小化问题的第二项:![](https://img.kancloud.cn/d7/c2/d7c27392f10afb1281705efd048e6086_414x24.jpg),即第二项是相等的。然后第二步比较第一项:![](https://img.kancloud.cn/81/7b/817b620364b70e8f703505da7fdb8bc9_326x24.jpg),即![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)对应的L2-regularized linear model值要比![](https://img.kancloud.cn/7d/b3/7db3b2f95e0a689ef19d99bbc9bc5848_20x14.jpg)大,这就说明![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)并不是最优解,从而证明![](https://img.kancloud.cn/75/ef/75ef640a4242528f65ca9cad69bf21bf_23x11.jpg)必然等于零,即![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)一定成立,![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)一定可以写成z的线性组合形式。 ![这里写图片描述](https://img.kancloud.cn/42/a7/42a7c6dff07add39093c505fa3ba231a_581x175.jpg) 经过证明和分析,我们得到了结论是任何L2-regularized linear model都可以使用kernel来解决。 现在,我们来看看如何把kernel应用在L2-regularized logistic regression上。上面我们已经证明了![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)一定可以写成z的线性组合形式,即![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)。那么我们就无需一定求出![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg),而只要求出其中的![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)就行了。怎么求呢?直接将![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)代入到L2-regularized logistic regression最小化问题中,得到: ![这里写图片描述](https://img.kancloud.cn/bb/09/bb09112eea2f3cf0259d3e309a644cda_581x154.jpg) ![这里写图片描述](https://img.kancloud.cn/24/8c/248c279e692e0a9e8c0bb5ae9df5fd1c_580x139.jpg) 上式中,所有的w项都换成![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)来表示了,变成了没有条件限制的最优化问题。我们把这种问题称为kernel logistic regression,即引入kernel,将求w的问题转换为求![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)的问题。 从另外一个角度来看Kernel Logistic Regression(KLR): ![这里写图片描述](https://img.kancloud.cn/35/04/350477b89590093f2326dbd886bcbb06_580x68.jpg) 上式中log项里的![](https://img.kancloud.cn/48/da/48da0f86b175df2adbca17d214d50166_132x54.jpg)可以看成是变量![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)和![](https://img.kancloud.cn/92/02/92026037275b52cf4f3aa9c187ddc0a8_79x18.jpg)的内积。上式第一项中的![](https://img.kancloud.cn/a9/8a/a98a5a3c42e9b21b1b54ea0ac969aaed_179x54.jpg)可以看成是关于![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的正则化项![](https://img.kancloud.cn/0e/b4/0eb42bbaf1cd6b96f480c015af315696_49x20.jpg)。所以,KLR是![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的线性组合,其中包含了kernel内积项和kernel regularizer。这与SVM是相似的形式。 但值得一提的是,KLR中的![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)与SVM中的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)是有区别的。SVM中的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)大部分为零,SV的个数通常是比较少的;而KLR中的![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)通常都是非零值。 ### **总结** 本节课主要介绍了Kernel Logistic Regression。首先把Soft-Margin SVM解释成Regularized Model,建立二者之间的联系,其实Soft-Margin SVM就是一个L2-regularization,对应着hinge error messure。然后利用它们之间的相似性,讨论了如何利用SVM的解来得到Soft Binary Classification。方法是先得到SVM的解,再在logistic regression中引入参数A和B,迭代训练,得到最佳解。最后介绍了Kernel Logistic Regression,证明L2-regularized logistic regression中,最佳解![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)一定可以写成z的线性组合形式,从而可以将kernel引入logistic regression中,使用kernel思想在z空间直接求解L2-regularized logistic regression问题。 **_注明:_** 文章中所有的图片均来自台湾大学林轩田《机器学习技法》课程