向量的L2范数求导
回归中最为基础的方法, 最小二乘法.
\[
\begin{align*}
J_{LS}{(\theta)} &= \frac { 1 }{ 2 } { \left\| A\vec { x } -\vec { b } \right\| }^{ 2 }\quad \\
\end{align*}
\]
向量的范数定义
\[
\begin{align*}
\vec x &= [x_1,\cdots,x_n]^{\rm T}\\
\|\vec x\|_p &= \left( \sum_{i=1}^m{|x_i|^p}\right)^\frac{1}{p}, \space p<+\infty
\end{align*}
\]
\(L_2\)范数具体为
\[
\|\vec x\|_2 = (|x_1|^2 + \cdots+|x_m|^2)^{\frac{1}2} = \sqrt{\vec x ^{\rm T}\vec x }
\]
矩阵求导
采用列向量形式定义的偏导算子称为列向量偏导算子, 习惯称为\(\color {red} {梯度算子}\), n x 1 列向量偏导算子即梯度算子记作 \(\nabla_x\), 定义为
\[
\nabla_x = \frac{\partial}{\partial x} = \left[ \frac{\partial}{\partial x_1}, \cdots, \frac{\partial}{\partial x_m}\right] ^{\rm T}
\]
如果\(\vec x 是一个n\times 1\text{的列向量}\), 那么
\[
\begin{eqnarray}
\frac{\partial y x}{\partial x}=y^T \\
\frac{\partial(x^TA x)}{\partial x}=(A+A^T)x \\
\end{eqnarray}
\]
更多参照wiki矩阵计算
通过以上准备, 我们下面进行求解
\[
\begin{align*}
\therefore \quad J_{LS}{(\theta)} &= \frac { 1 }{ 2 } { \left\| A{ x } -\vec { b } \right\| }^{ 2 } \\
&= \frac{1}{2} (Ax-b)^T (Ax-b) \\
&= \frac{1}{2} (x^TA^T-b^T)(Ax-b) \\
&= \frac{1}{2}(x^TA^TAx-2b^TAx+b^Tb)
\end{align*} \\
\]
需要注意的 b, x 都是列向量, 那么 \(b^T Ax\) 是个标量, 标量的转置等于自身, \(b^T Ax =x^TA^Tb\)
对\(\vec x\)求导得:
\[J_{LS}'{(\theta)}=A^TA x-A^Tb=A^T(Ax-b)\]
向量的L2范数求导的更多相关文章
- 正则化的L1范数和L2范数
范数介绍:https://www.zhihu.com/question/20473040?utm_campaign=rss&utm_medium=rss&utm_source=rss& ...
- L2范数归一化概念和优势
1 归一化处理 归一化是一种数理统计中常用的数据预处理手段,在机器学习中归一化通常将数据向量每个维度的数据映射到(0,1)或(-1,1)之间的区间或者将数据向量的某个范数映射为1,归一化 ...
- [深度学习] pytorch学习笔记(1)(数据类型、基础使用、自动求导、矩阵操作、维度变换、广播、拼接拆分、基本运算、范数、argmax、矩阵比较、where、gather)
一.Pytorch安装 安装cuda和cudnn,例如cuda10,cudnn7.5 官网下载torch:https://pytorch.org/ 选择下载相应版本的torch 和torchvisio ...
- python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)
求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...
- paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数(转)
http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...
- L0、L1与L2范数、核范数(转)
L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- L0/L1/L2范数(转载)
一.首先说一下范数的概念: 向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离. 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| > ...
随机推荐
- Centos 配置eth0 提示Device does not seem to be present
Centos 配置eth0 提示Device does not seem to be present 参考资料: http://www.cnblogs.com/fbwfbi/archive/2013/ ...
- bzoj3237 cdq分治+可撤销并查集
https://www.lydsy.com/JudgeOnline/problem.php?id=3237 年轻的花花一直觉得cdq分治只能用来降维,不料竟然可以用来分治询问 N<=100000 ...
- Unity-使用面向对象的思想
在做游戏之初,老师曾经说过要用面向对象的思想去做.当时满口答应,应为学了一点C#的原因感觉面向对象很简单嘛,但是事实上在做游戏的过程中,为了赶进度我的代码写的很冗余,很乱.这就导致了我不得不重新修改. ...
- JAVA-Proxy 代理
jdk静态代理 interface Dao { void save(); } class DaoImpl implements Dao { @Override public void save() { ...
- C语言:使用结构体和指针函数实现面向对象思想(OO编程)
原文:https://www.linuxidc.com/Linux/2016-12/138789.htm 有关:<C语言:过年回家 发现只有我没有对象> 一.基础研究 观察如下两个程序a. ...
- html(常用标签,标签分类),页面模板, CSS(css的三种引入方式),三种引入方式优先级
HTML 标记语言为非编程语言负责完成页面的结构 组成: 标签:被<>包裹的由字母开头,可以结合合法字符( -|数字 ),能被浏览器解析的特殊符号,标签有头有尾 指令:被<>包 ...
- python --端点调试
python端点调试 左边三角:快速跳到下一个端点 下箭头:单不调试 斜向下箭头:跳到函数内部执行代码
- 细说java系列之泛型
什么是范型 简言之,范型是Java支持在编译期进行类型检查的机制. 这里面包含2层含义:其一,可以使用范型进行类型检查:其二,在编译期进行类型检查. 那么,什么叫做在编译期进行类型检查?可以在运行时进 ...
- SQL Server进阶 SQL优化
找到消耗内存最多的SQL SELECT mg.granted_memory_kb, mg.session_id, t.text, qp.query_plan FROM sys.dm_exec_quer ...
- Repeater中使用条件的两种方法
1.使用三目运算符 display=<%#(Eval("Sex", "{0}") == "01") ? "none" ...