Kernel Ridge Regression
回顾一下岭回归,岭回归的目的是学习得到特征和因变量之间的映射关系,由于特征可能很高维,所以需要正则化
岭回归的目标函数是
$$ \sum_{i=1}^n \left\|y-X\beta\right\|^2+\lambda\beta^T\beta $$
由于数据可能是非线性的,单纯的线性回归效果可能不是很好,因此可以把数据映射到一个核空间,使得数据在这个核空间里面线性可分。
设核函数为$\Phi_i=\Phi(x_i)$,$\Phi_i$是一个$d$维空间中的向量,通常$d$比原来的维数高,甚至可以到无穷维。可以认为$\Phi_i$是核空间中$x_i$的一组特征,我们在核空间里对这组特征进行线性回归,原理和岭回归是一样的,因此可以直接套用岭回归的目标函数
$$ \sum_{i=1}^n \left\|y-\Phi\beta\right\|^2+\lambda\beta^T\beta $$
由正规方程解得$\beta=(\Phi^T\Phi+\lambda I_d)^{-1}\Phi^Ty$
由于$\Phi_i$可能达到无穷维,直接求逆比较困难,且效率较低。因此需要用到下面的小技巧
$$ (P^{-1}+B^TR^{-1}B)^{-1}B^TR^{-1}=PB^T(BPB^T+R)^{-1}$$
上式中,令$B=\Phi,P=\frac{1}{\lambda}I_d,R=I_n$,则有
$$\begin{align*} \beta &= \frac{1}{\lambda}\Phi^T(\frac{1}{\lambda}\Phi\Phi^T+I_n)^{-1}y\\&=\frac{1}{\lambda}\Phi(\frac{1}{\lambda}[\Phi\Phi^T+\lambda I_n])^{-1}y\\&=\frac{1}{\lambda}\Phi^T(\frac{1}{\lambda})^{-1}(\Phi\Phi^T+\lambda I_n)^{-1}y\\&=\Phi^T(\Phi\Phi^T+\lambda I_n)^{-1}y \end{align*}$$
令$\alpha=(\Phi\Phi^T+\lambda I_n)^{-1}y\quad\in\mathbb{R}^{n\times 1}$,则$\beta=\Phi^T\alpha=[\Phi_1,\Phi_2,...,\Phi_n]\alpha=\sum_{i=1}^n \alpha_i\Phi_i$
$K=\Phi\Phi^T\in\mathbb{R}^{n\times n}$称为gram矩阵,且$K_{ij}=\Phi_i^T\Phi_j$。
$$ y_i=\beta^T\Phi_i=y^T(K+\lambda I_n)^{-1}\Phi\Phi_i = y^T(K+\lambda I_n)^{-1}K_i $$
其中$K_i$是$K$的第$i$列
Kernel Ridge Regression的更多相关文章
- support vector regression与 kernel ridge regression
前一篇,我们将SVM与logistic regression联系起来,这一次我们将SVM与ridge regression(之前的linear regression)联系起来. (一)kernel r ...
- Kernel ridge regression(KRR)
作者:桂. 时间:2017-05-23 15:52:51 链接:http://www.cnblogs.com/xingshansi/p/6895710.html 一.理论描述 Kernel ridg ...
- 机器学习技法笔记:Homework #6 AdaBoost&Kernel Ridge Regression相关习题
原文地址:http://www.jianshu.com/p/9bf9e2add795 AdaBoost 问题描述 程序实现 # coding:utf-8 import math import nump ...
- Ridge Regression and Ridge Regression Kernel
Ridge Regression and Ridge Regression Kernel Reference: 1. scikit-learn linear_model ridge regressio ...
- Jordan Lecture Note-4: Linear & Ridge Regression
Linear & Ridge Regression 对于$n$个数据$\{(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\},x_i\in\mathbb{R}^d,y ...
- Ridge Regression(岭回归)
Ridge Regression岭回归 数值计算方法的"稳定性"是指在计算过程中舍入误差是可以控制的. 对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这 ...
- Kernel Methods (3) Kernel Linear Regression
Linear Regression 线性回归应该算得上是最简单的一种机器学习算法了吧. 它的问题定义为: 给定训练数据集\(D\), 由\(m\)个二元组\(x_i, y_i\)组成, 其中: \(x ...
- Kernel Logestic Regression
一.把 soft margin svm 看做 L2 Regression 模型 先来一张图回顾一下之前都学了些什么: 之前我们是通过拉格朗日乘子法来进行soft Margin Svm的转化问题,现在换 ...
- Probabilistic SVM 与 Kernel Logistic Regression(KLR)
本篇讲的是SVM与logistic regression的关系. (一) SVM算法概论 首先我们从头梳理一下SVM(一般情况下,SVM指的是soft-margin SVM)这个算法. 这个算法要实现 ...
随机推荐
- 自己玩虚拟机上mongo备份
rs.initiate({_id:"shard1RS",members:[{_id:1,host:"127.0.0.1:27018",priority:2},{ ...
- Java类加载器ClassLoader总结
JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中. 2.显式装载, 通过class.forname()等方法,显 ...
- jquery点击导航栏选中更换样式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- java 中国网建实现发送短信验证码
现在中国网建上注册一个自己的账户, 然后里面有代码案例,也有相应的下载jar包的地址 package com.direct.note; import java.io.IOException; impo ...
- JS十进制转二进制(控制位数)
主要需求:十进制转二进制,可以控制指定的位数. 转化显示后的二进制数为bin-bit中输入的数字宽度.dec-number为5,bin-bit为5,则转化后数字为00101.如果bin-bit小于转化 ...
- windows sserver 2008远程桌面端口修改
开始->运行->regedit HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStation ...
- ArcGIS 10.3 for Server部署策略
注:以下部署策略整理自官方文档,主要是为方便以后查阅各种部署方案. 1.单机部署与反向代理 1.1.反向代理 反向代理可采用ArcGIS Web Adaptor或者第三方的反向代理服务器. 1.2.部 ...
- 【译】MapCSS 与 CartoCSS
原文地址: https://gist.github.com/tmcw/4319642 CartoCSS 的作者是通过 Cascadenik 为灵感进而创作的 CartoCSS. CartoCSS 与 ...
- Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
前言:Otto事件总线 -- 组件之间通讯框架 对于之前的情况activity之间或者fragment之间等跳转传值一般都是用bundle.intent等,从activityA --- activit ...
- idea导入项目报错:文档中根元素前面的标记必须格式正确
今天从git上面导入项目之后,由于是上周刚刚提交过的,本地也没有什么修改,于是就从gitlab上面直接下载下来了.可是项目启动时候,报错了... 文档中根元素前面的标记必须格式正确 想想 原来是上次提 ...