\[
\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. 【POJ1743】Musical Theme(后缀数组)

    [POJ1743]Musical Theme(后缀数组) 题面 洛谷,这题是弱化版的,\(O(n^2)dp\)能过 hihoCoder 有一点点区别 POJ 多组数据 题解 要求的是最长不可重叠重复子 ...

  2. JAVA面试一

    ORACLE分页 -- 要求根据年龄排序后的 第三 行到第6 行的数据 (?) 分页语句 select t.* from ( select t1. *, rownum num from ( selec ...

  3. 云计算之路-阿里云上:博客web服务器轮番CPU 100%

    今天下午14:30左右开始,不知道怎么回事,博客站点负载均衡中的web服务器轮番CPU 100%.平时访问高峰5台服务器就能稳稳支撑,而今天发现CPU出现100%问题后就开始加服务器,结果到目前加到了 ...

  4. 解决python本地离线安装requests问题

    使用python36进行本地requests安装的时候,由于安装requests需要联网,导致安装失败,现象如下: 一开始以为,需要安装什么证书,其实只是需要一个python的证书库,(⊙﹏⊙)b 执 ...

  5. JAVA获取文件数据 ( xxxxx.json )

    //路径fPixFile filePath = new File(fPix);System.out.print("文件路径:" + filePath);try { if (file ...

  6. ACCESS_ONCE

    宏定义: #define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x)) 分解: typeof(x):取x的类型,如果x是int,那typeof(x) ...

  7. spring boot高性能实现二维码扫码登录(上)——单服务器版

    前言 目前网页的主流登录方式是通过手机扫码二维码登录.我看了网上很多关于扫码登录博客后,发现基本思路大致是:打开网页,生成uuid,然后长连接请求后端并等待登录认证相应结果,而后端每个几百毫秒会循环查 ...

  8. Javscript的函数链式调用基础篇

    我们都很熟悉jQuery了,只能jQuery中一种非常牛逼的写法叫链式操作: $('#div').css('background','#ccc').removeClass('box').stop(). ...

  9. WebGL 3D 工业隧道监控实战

    前言 监控隧道内的车道堵塞情况.隧道内的车祸现场,在隧道中显示当前车祸位置并在隧道口给与提示等等功能都是非常有必要的.这个隧道 Demo 的主要内容包括:照明.风机.车道指示灯.交通信号灯.情报板.消 ...

  10. HashMap的底层原理

    简单说: 底层原理就是采用数组加链表: 两张图片很清晰地表明存储结构: 既然是线性数组,为什么能随机存取?这里HashMap用了一个小算法,大致是这样实现: // 存储时: int hash = ke ...