首页 > 其他分享 >L2 正则化

L2 正则化

时间:2022-10-27 15:00:45浏览次数:82  
标签:partial cdot nabla 正则 widetilde pmb L2 lambda

\(L2\) 正则

\[\begin{align*} J=(\pmb X\pmb w-\pmb y)^T(\pmb X\pmb w-\pmb y)&\implies\pmb w=(\pmb X^T\pmb X)^{-1}\pmb X^T\pmb y\\ \widetilde J=(\pmb X\pmb w-\pmb y)^T(\pmb X\pmb w-\pmb y)+\frac\lambda2\pmb w^T\pmb w&\implies\pmb{\widetilde w}=(\pmb X^T\pmb X+\lambda\pmb I)^{-1}\pmb X^T\pmb y\\ \end{align*} \]


一般的,损失函数为 \(J(\pmb w;\pmb X,\pmb y)\),加入 \(L^2\) 范数后 \(\widetilde J(\pmb w;\pmb X,\pmb y)=J(\pmb w;\pmb X,\pmb y)+\frac\lambda2\pmb w^T\pmb w\);

在 \(\pmb w_0\) 作近似 \(J(\pmb w)\approx J(\pmb w_0)+\nabla_{\pmb w}J^T(\pmb w_0)\cdot(\pmb w-\pmb w_0)+\frac12(\pmb w-\pmb w_0)^T\cdot\pmb H(\pmb w_0)\cdot(\pmb w-\pmb w_0)\) ,如果 \(J\) 为二次函数,则 \(\approx\) 可以改为 \(=\);

取梯度 \(\nabla_{\pmb w} J(\pmb w)=\nabla_{\pmb w}J(\pmb w_0)+\pmb H(\pmb w_0)\cdot(\pmb w-\pmb w_0)\);

其中 \(\pmb H(\pmb w_0)\) 为 \(J\)$ 在 $$\pmb w_0$ 的黑塞矩阵(Hessian matrix),\(\pmb H(\pmb w_0)_{i,j}={\partial^2J\over\partial \pmb w_0^{(i)}\partial\pmb w_0^{(j)}}\)。

\[\begin{align*} \begin{array}{ll} \begin{array}{ll} \text{let }\pmb w^*=\underset{\pmb w}{\arg\min}[J(\pmb w;\pmb X,\pmb y)],&\text{s.t. }\nabla_{\pmb w}J(\pmb w^*)=0 \end{array}\\[0.1cm] \nabla_{\pmb w}\widetilde J(\pmb w)=\nabla_{\pmb w}J(\pmb w)+\lambda\pmb w=\nabla J(\pmb w_0)+\pmb H(\pmb w_0)\cdot(\pmb w-\pmb w_0)+\lambda\pmb w\\[0.5cm] \begin{array}{ll} \text{let }\pmb{\widetilde w}^*=\underset{\pmb w}{\arg\min}[\widetilde J(\pmb w;\pmb X,\pmb y)],&\text{s.t. }\nabla_{\pmb w}\widetilde J(\pmb{\widetilde w}^*)=0\\ \end{array}\\ \nabla_{\pmb w}\widetilde J(\pmb{\widetilde w}^*)=\nabla_{\pmb w}J(\pmb w_0)+\pmb H(\pmb w_0)\cdot(\pmb{\widetilde w}^*-\pmb w_0)+\lambda\pmb{\widetilde w}^*\\ \qquad\qquad\ \xlongequal{\pmb w_0\leftarrow\pmb w^*}0+\pmb H(\pmb w^*)\cdot(\pmb{\widetilde w}^*-\pmb w^*)+\lambda\pmb{\widetilde w}^*=0\\ \pmb{\widetilde w}^*=\left[\pmb H(\pmb w^*)+\lambda\pmb I\right]^{-1}\cdot\pmb H(\pmb w^*)\cdot\pmb w^* \end{array}\\ \end{align*} \]

\[\begin{align*} J&=(\pmb X\pmb w-\pmb y)^T(\pmb X\pmb w-\pmb y)\\ &={\pmb w}^T{\pmb X}^T\pmb X\pmb w-2{\pmb w}^T{\pmb X}^T\pmb y+{\pmb y}^T\pmb y\\ {\partial J\over\partial \pmb w}&=2{\pmb X}^T\pmb X\pmb w-2{\pmb X}^T\pmb y\\ {\partial\over\partial \pmb w}\left({\partial J\over\partial \pmb w}\right)^T&=2{\pmb X}^T\pmb X\\ \pmb H&=2{\pmb X}^T\pmb X\\ \pmb{\widetilde w}^*&=\left[\pmb H+\lambda\pmb I\right]^{-1}\cdot\pmb H\cdot\pmb w^*\\ &=\left[2{\pmb X}^T\pmb X+\lambda\pmb I\right]^{-1}\cdot2{\pmb X}^T\pmb X\cdot(\pmb X^T\pmb X)^{-1}\pmb X^T\pmb y\\ &=\left[{\pmb X}^T\pmb X+\frac\lambda2\pmb I\right]^{-1}\cdot\pmb X^T\pmb y \end{align*} \]

标签:partial,cdot,nabla,正则,widetilde,pmb,L2,lambda
From: https://www.cnblogs.com/violeshnv/p/16832223.html

相关文章

  • 正则表达式
    一、正则表达式的概述1、概念正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“......
  • SQL26_ 计算25岁以上和以下的用户数量
    通过代码1234567select '25岁以下', count(ifnull(age, 24)) as numberfrom user_profile where age < 25&nbs***bsp;age is nullunion......
  • SQL25_查找山东大学或者性别为男生的信息
    通过的代码  1234567select device_id, gender, age, gpafrom user_profilewhere university = '山东大学' union allselect dev......
  • python进阶之路21 正则应用 第三方模块之requests模块 openpyxl模块 简易爬虫(panda
    作业讲解"""网络爬虫没有我们现在接触的那么简单 有时候页面数据无法直接拷贝获取 有时候页面还存在防爬机制弄不好ip会被短暂拉黑"""http://www.redbull.com.cn/ab......
  • 小菜鸡学习---<正则表达式学习笔记2>
    正则表达式学习笔记2一.修饰符前面我们学习的都是用于匹配的基本的关键的一些表达式符号,现在我们来学习修饰符。修饰符不写在正则表达式里,修饰符位于表达式之外,比如/runo......
  • 小菜鸡的学习笔记---<正则表达式(1)>
    正则表达式学习笔记(1)(纯新手学习笔记,大佬绕路QAQ)一.简介正则表达式就是一种文本模式用来匹配一系列满足特定条件的字符串,可以对比一下数学里面的表达式,比如我们要用......
  • VS Code 中 文本替换 的正则表达式引用
     https://learn.microsoft.com/zh-cn/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2022 用例: 实现替换掉引号 后面添加逗号分割......
  • jarvisoj_level2_x64
    【Write-up】BUUCTFJarvisoj_level2_x64原题链接【Write-up】BUUCTFJarvisoj_level2_x64checksec查看架构ida查看伪代码构建exp完整expchecksec查看......
  • ParameterUtils【java正则表达式】【多测师_王sir】
    importstaticorg.testng.Assert.assertEqualsNoOrder;importjava.util.HashMap;importjava.util.Map;importjava.util.regex.Matcher;importjava.util.regex.Pattern;......
  • python 正则表达式
    简介在一些实际项目中,我们可能会遇到需要匹配对应的数据,例如爬虫时候需要匹配等,这时候就需要使用到正则表达式了正则匹配常用规则固定字符{abc}a/b/c[^abc]取所有......