回归中最为基础的方法, 最小二乘法.

\[
\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范数求导的更多相关文章

  1. 正则化的L1范数和L2范数

    范数介绍:https://www.zhihu.com/question/20473040?utm_campaign=rss&utm_medium=rss&utm_source=rss& ...

  2. L2范数归一化概念和优势

    1 归一化处理        归一化是一种数理统计中常用的数据预处理手段,在机器学习中归一化通常将数据向量每个维度的数据映射到(0,1)或(-1,1)之间的区间或者将数据向量的某个范数映射为1,归一化 ...

  3. [深度学习] pytorch学习笔记(1)(数据类型、基础使用、自动求导、矩阵操作、维度变换、广播、拼接拆分、基本运算、范数、argmax、矩阵比较、where、gather)

    一.Pytorch安装 安装cuda和cudnn,例如cuda10,cudnn7.5 官网下载torch:https://pytorch.org/ 选择下载相应版本的torch 和torchvisio ...

  4. python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)

    求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...

  5. paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  6. 机器学习中的范数规则化之(一)L0、L1与L2范数(转)

    http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...

  7. L0、L1与L2范数、核范数(转)

    L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...

  8. 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  9. L0/L1/L2范数(转载)

    一.首先说一下范数的概念: 向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离. 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| > ...

随机推荐

  1. data_type

    import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) ...

  2. Memcached入门学习

    Memcached入门学习 学习网址:http://www.runoob.com/Memcached/Memcached-tutorial.html

  3. git的那些事

    前言:记得在想学习git的时候,一直停留在思想的层面,总没有弄清楚它的运行机制,经常与github混淆,还好找到了一个好的教程,带我领略了git的风采 (一)git的优点 git的优点:版本控制在本地 ...

  4. jsp页面的共用

    我们经常希望一个网页,根据不同得请求显示不同得数据. 方法就是在session中添加一个变量,根据不同得值区分不同得请求类型. 后台:request.getSession().setAttribute ...

  5. JMETER压力测试报错:JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT

    最近在实现接口压力测试的时候遇到这样的一个问题 当线程数持续上升到一个点的时候,运行脚本的时候有很多报错,如图: java.net.BindException: Address already in ...

  6. SQL Server进阶(八)查询——开窗函数、四大排名函数、透视数据、逆透视数据

    概述 ROW_NUMBER() OVER(PARTITION BY CustId ORDER BY ID DESC) https://www.jb51.net/article/75533.htm 开窗 ...

  7. 20155324 《Java程序设计》实验五 网络编程与安全

    20155324 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面功能中获取的表达式中 ...

  8. Java SE之正则表达式六:匹配规则

    注释: 1.[]表示的字符集,不表示包含 ()表捕获和成组 Eg: 只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一 (qq|gmail|163){1}\.com 与 [(qq)|( ...

  9. Python读取导入非安装文件库的方法

    一.将文件库放到和.py文件同一目录下: 二..py文件头导入文件库的格式为(以导入CIFAR-10数据的类为例)[其实就在文件库前面加个.]: from .cifar10 import cifar1 ...

  10. nnet3中的数据类型

    目标与背景 之前的nnet1和nnet2基于Component对象,是一个组件的堆栈.每个组件对应一个神经网络层,为简便起见,将一个仿射变换后接一个非线性表示为一层网络,因此每层网络有两个组件.这些旧 ...