I. 范数(Norm)

定义:

向量空间\(V\)上的范数(norm)是如下函数:
\[
\begin{align}
\|·\|:V→R, \notag \\
x→\|x\| \notag
\end{align}
\]
该函数会赋予每个向量\(x\)自身的长度\(\|x\|∈R\),并且对于\(\lambda∈R,\,\,x,y∈V\)满足如下性质:

  • Absolutely homogeneous:\(\|\lambda x\|=|\lambda|\|x\|\)
  • Triangle inequality:\(\|x+y\|≤\|x\|+\|y\|\)
    Positive definite:\(\|x\|≥0\)且\(\|x\|=0\Leftrightarrow x=0\)

\(L^p\) norm 公式如右: \(\|x\|_p=(\sum_i|x_i|^p)^{\frac{1}{p}}\) for \(p∈R,p≥1\).

1) \(L^1\) Norm

这个也叫Manhattan norm

二范式在零点附近增长很慢,而且有的机器学习应用需要在零点和非零点之间进行区分,此时二范式显得力不从心,所以我们可以选择一范式,即\(L^1\) norm,其表达式为:\(\|x\|_1=\sum_i|x_i|\).

2) \(L^2\) Norm

这个也叫Euclidean norm

最常用的是二范式,即\(L^2\) norm,也称为Euclidean norm(欧几里得范数)。因为在机器学习中常用到求导,二范式求导之后只与输入数据本身有关,所以比较实用。

3) \(L^0\) Norm

0范式表示矢量中非0的元素的个数。其实0范式这个说法是不严谨的,因为它不满足第三个条件,but whatever~

4) \(L^∞\) Norm

无穷大范式,也叫max norm,它表示矢量中所有元素绝对值的最大值,即
\[||x||_∞=max |x_i|\]

5) F norm

F norm全称是Frobenius Norm,其表达式如下:
\[||A||_F=\sqrt{\sum_{i,j}A_{i,j}^2} \]

II. 内积(Inner Products)

内积的一个主要目的是用来判断两个向量是否互相正交。另外内积并没有明确的定义,他只是一个广泛的定义,也就是说我们可以根据需要定义内积,例如我们可以把内积定义成点积的形式等等。

1. 点积(Dot Product)

一种常见的内积形式是向量空间\(R^n\)内的点积(Dot Product/ Scalar Product),计算公式如下:
\[x^Ty=\sum_{i=1}^nx_iy_i\]

2. General Inner Products

在对内积给出一般性的定义之前需要做一些铺垫:

  • 双向映射(Bilinear Mapping)

    维基百科上的定义:A bilinear map is a function combining elements of two vector spaces to yield an element of a third vector space, and is linear in each of its arguments.

看定义其实不太好懂什么是bilinear mapping,stackexchange上有人给出了简单定义,即可以简单理解为满足如下性质的映射即为双向映射:

\(B(x+y,z) = B(x,z) + B(y,z)\)(additive in the first "coordinate"),
\(B(x,y+z) = B(x,y) + B(x,z)\) (additive in the second "coordinate"),
\(B(cx,y) = cB(x,y) = B(x,cy)\)preserves scaling in each "coordinate").

再简单快捷理解的方式就是将\(B\)理解成实数的乘法,即:
\(B(a,b)=a·b\)
\(B(x+y,z) = (x+y)\cdot z = x\cdot z + y\cdot z = B(x,z) + B(y,z)\)
\(B(x,y+z) = x\cdot (y+z) = x\cdot y + x\cdot z = B(x,y) + B(x,z)\)
\(B(cx,z) = (cx)\cdot z = c\cdot(xz) = x\cdot(cz) = B(x,cz)\)

这样有没有好理解很多?

  • 又一个定义

    假设\(V\)为向量空间,\(\Omega:V×V→R\)是一个bilinear mapping,它能将两个向量映射到一个实数上。那么

    • 若\(\Omega(x,y)=\Omega(y,x)\),则称\(\Omega\)是对称的。
      若\(\forall x∈V \backslash \{0\}:\Omega(x,x)>0,\,\,\,\Omega(0,0)=0\),则称\(\Omega\)为正定(positive definite)
  • 内积的定义

假设\(V\)为向量空间,\(\Omega:V×V→R\)是一个bilinear mapping,它能将两个向量映射到一个实数上。那么

  • 一个正定(positive definite)且对称的bilinear mapping\(\Omega:V×V→R\)被称为在向量空间\(V\)上的内积(inner product),一般记为\(<x,y>\),而不是\(\Omega(x,y)\)。
  • \((V,<·,·>)\)称为内积空间(inner product space)

3. 对称正定矩阵(Symmetric,Positive Definite Matrices)

定义:

满足如下条件的对称矩阵\(A∈R^{n×n}\)称为对称正定矩阵正定矩阵
\[\forall{x∈V\backslash\{0\}}:x^TAx>0\]
若上式中的>换成≥,则该矩阵为对称半正定矩阵。

例子:

正定矩阵\(A\)有如下性质:

  • \(A\)的kernel (null space)只包含\(0\),因为当\(x≠0\)时,\(x^TAx>0\)。
  • \(A\)的对角元素\(a_{ii}\)都是正的,因为\(a_{ii}=e_i^TAe_i>0\),其中\(e_i\)表示第\(i\)个标准基。

III. 内积的应用

我们可以通过定义内积从而定义长度(length),距离(distance),角度(angle),正交(orthogonal)等。

  • 长度&距离

其实长度和距离可以是等价的,定义如下:

假设有内积空间\((V,<·,·>)\),那么如下表达式表示\(x,y∈V\)之间的距离
\[d(x,y)=\|x-y\|=\sqrt{<x-y,x-y>}\]
如果我们使用点积作为内积,那么上面定义的距离则为欧几里得距离(Euclidean distance),其中映射
\[
\begin{align}
d:V×V→R \notag \\
(x,y)→d(x,y) \notag
\end{align}
\]称为metric

  • 角度&正交

令\(w∈[0,π]\)表示两向量之间的角度,则有
\[
\begin{align}
cos\,\mathcal{w}&=\frac{<x,y>}{\sqrt{<x,x><y,y>}} \notag \\
(dot\,\,product)&=\frac{x^Ty}{\sqrt{x^Tx\,y^Ty}} \notag \\
\Rightarrow w &= arccos\frac{<x,y>}{\sqrt{<x,x><y,y>}} \notag
\end{align}
\]
由上面的定义可知当\(<x,y>=0\)时,二者正交。

IV. 函数的内积(Inner Product of Functions)

前面介绍的内积都是基于有限的向量,如果扩展到有无限元素的函数,此时的内积如何定义呢?

假设有两个函数\(u(x),v(x)\),二者的内积为:\(<u,v>=\int_a^b{u(x)v(x)dx}, \,\, a,b<∞\)

当如上积分为0时,表示两个函数正交。

MARSGGBO♥原创







2018-12-17

【Math for ML】解析几何(Analytic Geometry)的更多相关文章

  1. 【Math for ML】矩阵分解(Matrix Decompositions) (下)

    [Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular V ...

  2. 【Math for ML】向量微积分(Vector Calculus)

    I. 向量梯度 假设有一个映射函数为\(f:R^n→R^m\)和一个向量\(x=[x_1,...,x_n]^T∈R^n\),那么对应的函数值的向量为\(f(x)=[f_1(x),...,f_m(x)] ...

  3. 【Math for ML】矩阵分解(Matrix Decompositions) (上)

    I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\ ...

  4. 【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射

    I. 映射(Mapping) 1. 单射(Injective) 函数f 是单射当且仅当若f(x) = f(y) 则 x = y. 例子: f(x) = x+5 从实数集\(R\)到\(R\)是个单射函 ...

  5. 【Math for ML】线性代数之——向量空间

    I. Groups 在介绍向量空间之前有必要介绍一下什么Group,其定义如下: 注意定义中的\(\bigotimes\)不是乘法,而是一种运算符号的统一标识,可以是乘法也可以是加法等. 此外,如果\ ...

  6. Reviewing notes 1.1 of Analytic geometry

    Chapter 1 Vector Algebra ♦ Vector Space Vector and vector space A vector is described as a quantity ...

  7. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  8. 【转】科大校长给数学系学弟学妹的忠告&本科数学参考书

    1.老老实实把课本上的题目做完.其实说科大的课本难,我以为这话不完整.科大的教材,就数学系而言还是讲得挺清楚的,难的是后面的习题.事实上做1道难题的收获是做10道简单题所不能比的. 2.每门数学必修课 ...

  9. 特征向量-Eigenvalues_and_eigenvectors#Graphs 线性变换

    总结: 1.线性变换运算封闭,加法和乘法 2.特征向量经过线性变换后方向不变 https://en.wikipedia.org/wiki/Linear_map Examples of linear t ...

随机推荐

  1. windows怎样查看被程序占用的端口

    1. netstat -ano  显示所有端口与任务管理器中的pid对应,通过pid打开任务管理器查询占用进程 附录:在命令行中输入netstat /? 可以查看netstat的相关信息.C:\Doc ...

  2. javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)

    一.前言                                                                                                ...

  3. 一键开启MacOS HiDPI

    完整文件下载:一键开启MacOS HiDPI 引言 作为一个黑苹果用户,追求黑果的体验是当然的,当各个硬件都驱动完善后,要做的就是细节的优化了,毕竟装上是拿来用的,可不能因为体验差苦了自己啊.机器毕竟 ...

  4. 【C#】使用bat文件安装卸载Window服务

    1.安装服务 @echo off @title 安装windows服务path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319echo========= ...

  5. oracle存储过程加密

    引言:平时大家在做项目的时候,经常会遇到把Oracle存储过程带到项目现场来测试系统.这时如果想对自己的存储过程进行保密,不使别人看到源代码,就可以对已有的存储过程进行加密保护.顾名思义,就是对Ora ...

  6. java-map复合类型(HashMap-TreeMap)常用操作例子(适合初学者)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.HashMap; import java.u ...

  7. Web API中使用CORS解决跨域

    Web API中使用Cros解决跨域 如果两个页面的协议,端口和域名都相同,则两个页面具有相同的源,注:IE不考虑端口,同源策略不会阻止浏览器发送请求,但是它会阻止应用程序看到响应.如下图所示 COR ...

  8. Mac Office 2016 破解

    官方最新版本office 是2016.15.38 此版本主要是修复了Excel内存损害漏洞. 官方下载的版本大小是1.67G,因为其他途径下载的版本,不确保是最新版本且为完整的版本.不知道我说的这个大 ...

  9. vue基于组件实现简单的todolist

    把todolist拆分为header.footer.list三个模块 index文件 <!DOCTYPE html> <html lang="en"> &l ...

  10. elementUi模态框使用baiduMap错误记录

    报错如下,可能是因为目标div还没生成 elementUi文档说明 在dom生成后再调用,正常 buildMap(){ let map = new BMap.Map("allmap" ...