本文为《Kernel Logistic Regression and the Import Vector Machine》的阅读笔记
是技法课的课外阅读

Abstract:
基于KLR kernel logistic regression,能自然延伸到多分类问题
提供属于各类的概率
也有类似support vector,且这部分training data占比比SVM小

algrithm:
IVM基于Kernal logistic regression(KLR),下面介绍KLR

原始logistic regression为:
$H = -\frac{1}{n}\sum_i^n \left\{ [y_i=1]ln(p(x_i))+[y_i=0]ln(1-p(x_i))\right \}+\frac{\lambda}{2}w^tw$ (1)
其中$p(x)=\frac{1}{1+exp(-(xw+b))}$

根据represent theory,$xw=\sum_i^n K(x,x_i)a_i$(2),这里K表示kernel
(1)中前半部分,很容易用(2)替换后得到对应的kernel化版本
(1)中后半部分,令$a=(a_1,a_2,...,a_n)$,$K$为nxn的矩阵,$K_{ij}=K(x_i,x_j)$,
$X$为nxd的矩阵,n为样本量,d为每个样本变换后的维度,$K=XX^t$根据(2),有
$Xw=Ka=XX^ta$,$w=X^ta$,$w^tw=a^tXX^ta=a^tKa$

$H=\frac{1}{n}\sum_i^n \left\{ [y_i=1]ln(1+exp(-f(x_i)))+[y_i=0]ln(1+exp(f(x_i)))\right \}+\frac{\lambda}{2}a^tKa$(3)
其中$f(x)=b+\sum_{x_i\in S} K(x,x_i)a_i,S=\left\{x_1,x_2,...,x_n\right\}$(4)

由于KLR并非hinge loss,所以解完后得到的每个$a_i$都不等于0
IVM是基于KLR的,所做的改进即选出一些$a_i\neq 0$,而其他$a_i=0$,这些不等于0的样本点,类似于SVM的support vector,此处叫Import point

令这些Import point组成的集合成为$S$,大小为$n_s$,此时(4)式中的$S$只包含Import point
(3)式中的$K$也有变动
重新考虑(2)式:$xw=\sum_i^n K(x,x_i)a_i$,令$X_s$为由Import point变换后组成的矩阵,大小为$n_s\times d,$令$K_a=XX_s^t$为$n\times n_s$的矩阵
有$Xw = K_a a = XX_s^t a$,$w = X_s^t a$,$w^tw = a^tX_sX_s^ta=a^tK_q a$,此处$K_q=X_sX_s^t$,是$n_s\times n_s$的矩阵

用牛顿法求解$H$,令$H_1=\frac{1}{n}\sum_i^n \left\{ [y_i=1]ln(1+exp(-f(x_i)))+[y_i=0]ln(1+exp(f(x_i)))\right \}$,$H_2=\frac{\lambda}{2}a^tK_qa$
$\frac{\partial H_1}{\partial a_j} = \frac{1}{n}\sum_i^n \left\{ -[y_i=1]K(x_i,x_j)\frac{exp(-f(x_i))}{1+exp(-f(x_i))}+[y_i=0]K(x_i,x_j)\frac{exp(f(x_i))}{1+exp(f(x_i))}\right \}\\ \ \ \ = \frac{1}{n}\sum_i^n \left\{ -[y_i=1]K(x_i,x_j)(1-p(x_i))+[y_i=0]K(x_i,x_j)p(x_i)\right \}\\ \ \ \ = \frac{1}{n}\sum_i^n \left\{ -y_iK(x_i,x_j)(1-p(x_i))+(1-y_i)K(x_i,x_j)p(x_i)\right \}\\ \ \ \ = \frac{1}{n}\sum_i^n (p(x_i)-y_i)K(x_i,x_j)=\frac{1}{n}\sum_i^n {K_a^t}_{ji}{(p-y)}_{i1}=\frac{1}{n} {[K_a^t(p-y)]}_{j1}$
由于$H_2$是一个数字,所以$trace H_2=H_2$
$\partial a\ trace H_2 = \partial a\ trace \frac{\lambda}{2}a^tK_qa = \frac{\lambda}{2}(K_qa+K_qa)=\lambda K_qa$
$\frac{\partial H_2}{\partial a_j}=\lambda {[K_qa]}_{j1}=\lambda \sum_i^{n_s} {[K_q]}_{ji}a_{i1}$

$\frac{\partial^2 H_1}{\partial a_j\partial a_z}=\frac{1}{n}\sum_i^n \frac{exp(-f(x_i))}{(1+exp(-f(x_i)))^2}K(x_i,x_z)K(x_i,x_j)=\frac{1}{n}\sum_i^np(x_i)(1-p(x_i)){[K_a]}_{iz}{[K_a]}_{ij}$
令$W=diag(p(x_i)(1-p(x_i)))$
$\frac{\partial^2 H_1}{\partial a_j\partial a_z}=\frac{1}{n}\sum_i^n {[K_a^t]}_{ji}W_{ii}{[K_a]}_{iz}=\frac{1}{n} {[K_a^tWK_a]}_{jz}$
$\frac{\partial^2 H_2}{\partial a_j\partial a_z}=\lambda {[K_q]}_{jz}$

根据牛顿法的更新公式:$\alpha_{k+1} = \alpha_{k}-Hessian^{-1}g$
$a_{k+1} = a_{k}+{(\frac{1}{n} K_a^tWK_a+\lambda K_q)}^{-1}(\frac{1}{n}K_a^t(y-p)-\lambda K_qa_k)\\ \ \ \ ={(\frac{1}{n} K_a^tWK_a+\lambda K_q)}^{-1} (\frac{1}{n}K_a^t(y-p)-\lambda K_qa_k+\frac{1}{n} K_a^tWK_aa_k+\lambda K_qa_k)\\ \ \ \ ={(\frac{1}{n} K_a^tWK_a+\lambda K_q)}^{-1} (\frac{1}{n}K_a^t[(y-p)+WK_aa_k])$ (3)

detail:
1.$S=\emptyset$,$R={x_1,x_2,...,x_n}$
2.遍历R中的每一个样本,令$S=S\bigcup x_l$,求解a,使H最小
3.选取使H最小的$x_l$,记此时H的値为$H_{k+1}$
4.如果$\frac{|H_{k+1}-H_k|}{H_k}<\eta$,判定为收敛,返回S,以及a;否则重复2-4,直到收敛(通常设$\eta=0.001$)

2步骤中如果加入一个$x_l$,就要进行一轮牛顿法的迭代,是很花时间的,改为如下更新策略
每一次加入一个$x_l$,按公式(3)执行一次迭代

转载于:https://www.cnblogs.com/porco/p/4621345.html

IVM import vector machine相关推荐

  1. [机器学习] 分类 --- Support Vector Machine (SVM)

    1. 基本概念 支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大.SVM是用来解决二分类问题的有监督学习算法 ...

  2. 机器学习实战(五)支持向量机SVM(Support Vector Machine)

    目录 0. 前言 1. 寻找最大间隔 2. 拉格朗日乘子法和KKT条件 3. 松弛变量 4. 带松弛变量的拉格朗日乘子法和KKT条件 5. 序列最小优化SMO(Sequential Minimal O ...

  3. Task02——支持向量机(Support Vector Machine,SVM)

    支持向量机(Support Vector Machine,SVM) 本系列是2022年12月DataWhale组队学习中sklearn机器学习实战中的第二个学习任务--SVM,开源的在线学习地址 ,下 ...

  4. SVM算法(Support Vector Machine)

    一.SVM 支持向量机(support vector machines,SVM)是一种二分类模型,将实例的特征向量映射为空间中的一些点,SVM 的目的就是想要画出一条线,以 "最好地&quo ...

  5. 机器学习算法系列(十四)-硬间隔支持向量机算法(Hard-margin Support Vector Machine)

    阅读本文需要的背景知识点:拉格朗日乘子法.KKT条件.一丢丢编程知识 一.引言   前面一节我们介绍了一种分类算法--朴素贝叶斯分类器算法,从概率分布的角度进行分类.下面我们会花几节来介绍另一种在分类 ...

  6. 机器学习算法系列(十五)-软间隔支持向量机算法(Soft-margin Support Vector Machine)

    阅读本文需要的背景知识点:硬间隔支持向量机.松弛变量.一丢丢编程知识 一.引言   前面一节我们介绍了一种最基础的支持向量机模型--硬间隔支持向量机,该模型能对线性可分的数据集进行分类,但现实中的数据 ...

  7. SVM 支持向量机算法(Support Vector Machine )【Python机器学习系列(十四)】

    SVM 支持向量机算法(Support Vector Machine )[Python机器学习系列(十四)] 文章目录 1.SVM简介 2. SVM 逻辑推导 2.1 Part1 化简限制条件 2.2 ...

  8. 机器学习算法系列(十六)-非线性支持向量机算法(Non-Linear Support Vector Machine)

    阅读本文需要的背景知识点:线性支持向量机.一丢丢编程知识 一.引言   前面我们用两节介绍了两种支持向量机模型--硬间隔支持向量机.软间隔支持向量机,这两种模型可以统称为线性支持向量机,下面来介绍另一 ...

  9. 机器学习技法1-Linear Support Vector Machine

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习技法>课程. 笔记原作者:红色石头 微信公众号:AI有道 本系列分成16节课,将会介绍<机器学习基石>的进阶版<机器学 ...

最新文章

  1. linux awk(good)
  2. Linux下CMake简明教程(四)不同目录下多个源文件
  3. 调用函数,判断各位数字立方和是否等于它本身
  4. android espresso跨程序,Android Espresso:依次运行多个测试
  5. 易流即时配送_即时大数据流处理=即时风暴
  6. ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?
  7. 模糊逻辑系统_在模糊逻辑系统中工作 人工智能
  8. 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !...
  9. 三步完成博客打赏功能
  10. 关于电路的书的读后感_通知 | 2021.1.1日起,专利和集成电路布图设计收费启用电子票据...
  11. LibreOffice/Calc:带条件判断的求和
  12. 4 图像处理基础知识
  13. 278.第一个错误版本(力扣leetcode) 博主可答疑该问题
  14. UnityShader基础案例(二)——UI流光,扭曲,外边框,波纹效果
  15. UOJ 180【UR #12】实验室外的攻防战
  16. apollo自动驾驶进阶学习之:如何调试减速带通行限速参数
  17. 基于MATLAB的计算机视觉与深度学习实战
  18. Python-pytest、unittest
  19. <table>表格标签属性
  20. FZU - 2191 完美的数字

热门文章

  1. 转载于烂泥博客,供个人学习kvm、mysql等知识
  2. 浅谈微信公众号怎么涨粉丝
  3. JavaScript Function中你可能不知道的知识点
  4. elasticsearch 批量查询
  5. 电脑升级Win11后不流畅卡顿怎么解决
  6. Python从网易云音乐、QQ 音乐、酷狗音乐、虾米音乐等搜索和下载歌曲
  7. Matplotlib数据可视化之堆叠图、饼图(plt.stackplot\plt.pie)
  8. linux查看patch文件,linux – 如何知道patch命令是否正常工作?
  9. matlab进行动力吸振器设计,干摩擦动力吸振器的MATLAB仿真及其基于频谱分析的优化设计...
  10. 20本英文书点亮你的人生智慧