回顾一下岭回归,岭回归的目的是学习得到特征和因变量之间的映射关系,由于特征可能很高维,所以需要正则化

岭回归的目标函数是

$$ \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的更多相关文章

  1. support vector regression与 kernel ridge regression

    前一篇,我们将SVM与logistic regression联系起来,这一次我们将SVM与ridge regression(之前的linear regression)联系起来. (一)kernel r ...

  2. Kernel ridge regression(KRR)

    作者:桂. 时间:2017-05-23  15:52:51 链接:http://www.cnblogs.com/xingshansi/p/6895710.html 一.理论描述 Kernel ridg ...

  3. 机器学习技法笔记:Homework #6 AdaBoost&Kernel Ridge Regression相关习题

    原文地址:http://www.jianshu.com/p/9bf9e2add795 AdaBoost 问题描述 程序实现 # coding:utf-8 import math import nump ...

  4. Ridge Regression and Ridge Regression Kernel

    Ridge Regression and Ridge Regression Kernel Reference: 1. scikit-learn linear_model ridge regressio ...

  5. 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 ...

  6. Ridge Regression(岭回归)

    Ridge Regression岭回归 数值计算方法的"稳定性"是指在计算过程中舍入误差是可以控制的. 对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这 ...

  7. Kernel Methods (3) Kernel Linear Regression

    Linear Regression 线性回归应该算得上是最简单的一种机器学习算法了吧. 它的问题定义为: 给定训练数据集\(D\), 由\(m\)个二元组\(x_i, y_i\)组成, 其中: \(x ...

  8. Kernel Logestic Regression

    一.把 soft margin svm 看做 L2 Regression 模型 先来一张图回顾一下之前都学了些什么: 之前我们是通过拉格朗日乘子法来进行soft Margin Svm的转化问题,现在换 ...

  9. Probabilistic SVM 与 Kernel Logistic Regression(KLR)

    本篇讲的是SVM与logistic regression的关系. (一) SVM算法概论 首先我们从头梳理一下SVM(一般情况下,SVM指的是soft-margin SVM)这个算法. 这个算法要实现 ...

随机推荐

  1. sublime text 2编辑器中文问题

    Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦.不过Sublime Package Control所以供的插件可以让Subli ...

  2. JVM(五) class类文件的结构

    概述 class类文件的结构可见下面这样图(出处见参考资料),可以参照下面的例子,对应十六进制码,找出找出相应的信息. 其中u2 , u4 表示的意思是占用两个字节和占用四个字节,下面我们将会各项说明 ...

  3. SpringMVC国际化配置

    一.什么是国际化: 国际化是设计软件应用的过程中应用被使用与不同语言和地区 国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息,    不同语言的用户看到的是不同的内容 二.spr ...

  4. Java温故而知新(2)多线程详解

    多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境.     一.线程与进程的区别 多个进程的内部数据和状态都是完全独立的,而多线程 ...

  5. AndroidVideoCache 框架源码分析

    1.简析: 在客户端播放视频的使用,容易出现这样的一个问题.在网络状况不好的情况下,视频流很容易卡顿或者中断,即使播放软件本身有一点的缓存能力,但是这个往往不够,造成播放失败,卡顿. AndroidV ...

  6. asm demo

    出处:https://blog.csdn.net/zhangjg_blog/article/details/22976929 package com.gxf.asm; import org.objec ...

  7. PL/SQL 快速连接数据库

    打开PL/SQL 登录窗口,在数据库地址写入 服务器名:端口号/sid 即可, 例如: 192.168.100.100:1521/test

  8. 移动web开发都会遇到的坑(会持续更新)

    1.自适应第一招 <meta name="viewport" content="width=device-width,initial-scale=1.0,user- ...

  9. SQLServer导入大sql文件报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 (mscorlib)

    打开cmd执行(d:\script.sql为sql文件位置):  sqlcmd -S 127.0.0.1 -U sa -P sa -i d:\script.sql    From:https://ww ...

  10. svg拖拽和缩放

    需求:做机房平面图,用svg实现拖拽和缩放,刚开始一头雾水,不知所措,好在皇天不负有心人........ 本文重点介绍拖拽,单纯实现很简单,但是由于vue项目,机房图有很多事件,拖拽就成了难点 简单介 ...