\[
\begin{align*}
&J_{LS}{(\theta)} = \frac { 1 }{ 2 } { \left\| \Phi \theta - y \right\| }^{ 2 }\quad \\
&\min(J_{LS}{(\theta)}) \quad \text{约束条件 }\| \theta \|^2 < R\\
\end{align*}
\]

拉格朗日对偶问题

假设 \(f(x)\), \(c_i(x)\), \(h_j(x)\) 是定义在 \(R^n\) 上的连续可微函数, 考虑约束最优化问题

\[
\begin{align}
\min_{x\in R^n} f(x) \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad\\
s.t. \space c_i(x) \le 0, \quad i=1,2,3, \cdots,k\quad\quad \\
\quad \quad h_j(x) = 0, \quad \quad \quad i=1,2,3, \cdots,l
\end{align}
\]

称此最优化问题为原始最优化问题或原始问题

首先引入广义拉格朗日函数
\[
\begin{align}
L(x, \alpha, \beta) = f(x) + \sum_i^k\alpha_i c_i(x) + \sum_j^l\beta_j h_j(x) \quad \alpha_i \ge 0
\end{align}
\]

由于, 若 \(c_i(x) \le 0, \quad h_j(x) = 0\), 则
\[\theta_p(x) = \max_{\alpha_i, \beta_j, \alpha_i \ge 0}L(x, \alpha, \beta) =f(x)\]

\(\color{red}{则原始最优化问题等价于}\)

\[
\begin{align}
\min_x \max_{\alpha_i, \beta_j, \alpha_i \ge 0} L(x, \alpha, \beta) \quad\quad\quad\quad\quad\\
s.t. \space c_i(x) \le 0, \quad \quad\quad i=1,2,3, \cdots,k \\
\quad \quad h_j(x) = 0, \quad \quad \quad i=1,2,3, \cdots,l
\end{align}
\]

上述问题称为广义拉格朗日函数的极小极大问题. 该问题和原始最优化问题 \(\it 式(1), (2), (3)\) 等价

\[
\begin{align}
\max_{\alpha_i, \beta_j, \alpha_i \ge 0} \min_x L(x, \alpha, \beta)
\end{align}
\]

上述问题称为广义拉格朗日函数的极大极小问题, 是广义拉格朗日函数的极小极大问题的对偶问题

如果\(\alpha_i\), \(\beta_j\), \(x\) 满足 \(Karush-Kuhn_Tucker(KKT)\) 条件, 则

\[对偶问题的解 \Longleftrightarrow lagrange极小极大问题解 \Longleftrightarrow 原始问题解\]

L2 约束

\[
\begin{align*}
&J_{LS}{(\theta)} = \frac { 1 }{ 2 } { \left\| \Phi \theta - y \right\| }^{ 2 }\quad \\
&\min(J_{LS}{(\theta)}) \quad \text{约束条件 }\| \theta \|^2 < R\\
\end{align*}
\]

该原始问题可以转化对偶问题

\[
\begin{align}
\max_{\lambda} \min_\theta \left[J_{LS}{(\theta)} + \frac\lambda2 \left(\| \theta \|^2 - R\right)\right] \quad 约束条件 \lambda \ge 0
\end{align}
\]

lagrange 对偶问题的 拉格朗日乘子 \(\lambda\) 的解由 \(R\) 决定. 如果不根据 \(R\) 来决定 \(R\), 而是直接指定的话, \(\space l_2\) 约束的最小二乘学习法的解 \(\hat{\theta}\) 可以通过下式求得

\[
\begin{align}
\hat{\theta} = \arg\min_{\theta} \left[ J_{LS}{\theta)} + \frac\lambda2 \| \theta \|^2 \right]
\end{align}
\]

\(J_{LS}{\theta)}\) 表示的是训练样本的拟合程度, 与 \(\frac\lambda2 \| \theta \|^2\)结合求最小值, 来防止训练样本的过拟合. \(l_2\)正则化的最小二乘学习法也称为岭回归.

\[
\begin{align}
\frac{\partial( {J_{LS}{\theta)} + \frac\lambda2 \| \theta \|^2})}{ \partial \theta} = \Phi^T(\Phi \theta - y) + \theta = 0 \\
\hat{\theta} = (\Phi^T\Phi + \lambda I)^{-1}\Phi^Ty
\end{align}
\]

奇异值分解

考虑矩阵 \(\Phi\) 的奇异值分解

\[
\Phi = U\Sigma V^T = \sum_{k=1}^{\min(n,b)} u_k\sigma_kv_k^T,\\
\Phi^T\Phi = V \Sigma^2V^T = \sum_{k=1}^{\min(n,b)} v_k\sigma_k^2v_k^T \\
\Phi ^T = V\Sigma U^T = \sum_{k=1}^{\min(n,b)} v_k\sigma_ku_k^T\\
\]

其中\(\quad \Sigma\) 为对角矩阵

\(\space l_2\) 约束的最小二乘学习法的解 \(\hat{\theta}\)如下式表示

\[
\hat{\theta} = \sum_{k=1}^{\min(n,b)} \frac{\sigma_k}{\sigma_k^2 + \lambda}u_k^Tyv_k
\]

通过在分母中加入正常数 \(\lambda\) 使得 \(\frac{\sigma_k}{\sigma_k^2 + \lambda}\) 避免变得过大, 进而达到防治过拟合的目的.

Q: 不清楚为什么 \(\hat{\theta}\) 变小了就能防治过拟合 ?

我是这样理解的, 就拿房价的曲线拟合来说吧. 如果基函数 \(\Phi(x)\) , 比如
\[(1, \sin{x/2}, \cos{x/2}, \cdots, sin15x/2, cos15x/2)\]
是给定的. 那么, 减小系数向量 \(\hat{\theta}\) 可以减小函数变化的幅度, 不会让模型因为和训练样本过于相似, 而失去了泛化能力.

L2 约束的最小二乘学习法的更多相关文章

  1. 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法

    基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法 Siamese CNN Temporally Constrained Metrics T ...

  2. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  3. JS面向对象逆向学习法,让难理解的统统一边去(1)~

    对于面向对象我只能说呵呵了,为什么呢,因为没对象--- 既然你看到了这里,说明你有一定的基础,虽然本系列文章并不会过多的讲述基础部分,请做好心理准备. 本篇比较简单,这篇文章的意义是让你明白学习面向对 ...

  4. 别出心裁的Linux系统调用学习法

    别出心裁的Linux系统调用学习法 操作系统与系统调用 操作系统(Operating System,简称OS)是计算机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中 ...

  5. 软技能:十步学习法 (zhuan)

    http://www.gyzhao.me/2016/11/07/Ten-Step-Learning-Method/ ****************************************** ...

  6. 12月21日 简单理解Active Recore Callback, destroy_all和delete_all的区别。豆知识(alias),语言学习法(4核心)

    destroy_all and delete_all Destroy the records by instantiating each record and calling its #destroy ...

  7. 统计学习:《贝叶斯思维统计建模的Python学习法》中文PDF+英文PDF+代码

    用数学工具解决实际问题仅有的要求可能就是懂一点概率知识和程序设计.而贝叶斯方法是一种常见的利用概率学知识去解决不确定性问题的数学方法,对于一个计算机专业的人士,应当熟悉其应用在诸如机器翻译,语音识别, ...

  8. Xdite:永葆热情的上瘾式学习法(套路王:每天总结自己,反省自己的作息规律,找到自己的幸运时间、幸运方法,倒霉时间、倒霉方法。幸运是与注意力挂钩的。重复才能让自己登峰造极,主动去掉运气部分来训练自己。游戏吸引自己的几个原因非常适合训练自己)good

    版权声明 本文首发自微信公共帐号: 学习学习再学习(xiaolai-xuexi) 无需授权即可转载, 甚至无需保留以上版权声明: 转载时请务必注明作者. 以下是<共同成长社区>第 58 次 ...

  9. JAVA学习方法之——费曼学习法

    理查德·费曼 费曼简介 理查德·菲利普斯·费曼(Richard Phillips Feynman),出生于1918年5月11日,是美籍犹太裔物理学家,曾在1965年获得诺贝尔物理学奖,也被认为是继爱因 ...

随机推荐

  1. 【BZOJ3670】动物园(KMP算法)

    [BZOJ3670]动物园(KMP算法) 题面 BZOJ 题解 神TM阅读理解题 看完题目之后 想暴力: 搞个倍增数组来跳\(next\) 每次暴跳\(next\) 复杂度\(O(Tnlogn)\) ...

  2. WC2001 高性能计算机

    cogs网址 这道题DP 设g[0/1][i][a][b]表示第i个机子做了a个A,b个B,0/1表示当前为A/B的最小代价 N^4转移 设f[i][a][b]表示前i个机子做了a个A,b个B的最小答 ...

  3. XAMPP搭建PHP

    在学习一些前后端交互时,经常会有跟PHP作为后端(服务器)的交互,不能将php文件放在本地进行请求,必须将PHP运行在Apache环境中.但是对一些新手来说,学习搭建一个Apache环境也并非易事,所 ...

  4. 完整的站内搜索实战应用(Lucene.Net+盘古分词)

    首先自问自答几个问题,以让各位看官了解写此文的目的 什么是站内搜索?与一般搜索的区别? 多网站都有搜索功能,很多都是用SQL语句的Like实现的,但是Like无法做到模糊匹配(例如我搜索". ...

  5. Object类----toString,equals,hashcode

    一.toString 的应用方法与覆写 public class testoveridetoString { public static void main(String[] args) { /*ob ...

  6. java web需要好好掌握的一些东西

    这是一些需要好好的复习的东西 本来存了个文档  怕整丢了  就在这里保存一下 java 基础 重点关注集合 如list hashmap等使用(有时间多看看hashmap的实现原理  问的比较多)多线程 ...

  7. QT 中setUserData和setProperty问题

    在5.9的官方文档里是找不到QObject中的setUserData 的,相反他提供了setProperty(). void setUserData(uint id, QObjectUserData ...

  8. Java中动态代理工作流程

    当谈到动态代理就会想到接口,因为接口是一种规范,动态代理对象通过接口便会很清楚地知道他的实现类(被代理对象)是何种类型的(即有哪些方法).Now,然我们来开始编写一个例子来了解动态代理的全过程: 第一 ...

  9. secureCRT的安装及破解

    secureCRT是我们平时都会用到的终端仿真程序,所谓是居家旅行必备神器啊,下面就说说怎么安装破解secureCRT. (网上有破解版和一些绿色版,感觉或多或少都有点问题,比如我用便携版就有问题,所 ...

  10. python web开发-flask中response,cookies,session对象使用详解

    Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 如果返回的是一个合法的响应对象,它会从 ...