標量(scalar)
一個標量就是一個單獨的數,通常用小寫的的變量名稱表示。算法
向量(vector)
一個向量就是一列數,這些數是有序排列的:數組
$$ \begin{bmatrix} x_1\\ x_2\\ ...\\ x_5 \end{bmatrix} $$網絡
矩陣(matrices)
矩陣是二維數組:框架
$$ \begin{bmatrix} a_{11}& a_{12}& ...& a_{1n}& \\ a_{21}& a_{22}& ...& a_{2n}& \\ ...& ...& & ...& \\ a_{m1}& a_{m2}& ...& a_{mn}& \end{bmatrix} $$機器學習
張量(tensor)
多維數組中元素分佈在若干位座標的規則網絡中, 稱之爲張量. 幾何代數中定義的張量是基於向量和矩陣的推廣,通俗一點理解的話,咱們能夠將標量視爲零階張量,矢量視爲一階張量,那麼矩陣就是二階張量。
張量在深度學習中是一個很重要的概念,由於它是一個深度學習框架中的一個核心組件,後續的全部運算和優化算法幾乎都是基於張量進行的。ide
轉置(transpose)
主對角線: 矩陣從左上角到右下角的對角線稱爲主對角線.矩陣的轉置是指以主對角線爲軸的鏡像.
令矩陣$\mathbf{A}$的轉置表示爲$\mathbf{A}^T$, 則定義以下:
$$(\mathbf(A)^T)_{i,j}=A_{i,j}$$
Tips:
向量是單列矩陣, 向量的轉置是單行矩陣. 標量可看作單元素矩陣, 所以標量的轉置是它自己: $a=a^T$.函數
矩陣加法和廣播:
矩陣加法定義: $\mathbf{C}=\mathbf{A}+\mathbf{B}$工具
在深度學習中, 容許矩陣和向量相加, 產生一個新的矩陣, 簡寫爲:$\mathbf{C}=\mathbf{A}+\mathbf{b}$, 表示向量$\mathbf{b}$和矩陣$\mathbf{A}$的每一行都相加. 這種隱式地幅值向量$\mathbf{b}$到不少位置的方式成爲廣播.學習
矩陣乘法
分配律: $\mathbf{A(B+C)}$
結合律: $\mathbf{A(BC)=(AB)C}$
矩陣乘積不知足交換律: $\mathbf{AB\neq{BA}}$
向量點積知足交換律: $\mathbf{x^Ty=y^Tx}$
乘積的轉置: $\mathbf{(AB)^T=B^TA^T}$優化
單位矩陣
主對角線元素都是1, 其他位置全部元素都是0的矩陣:
$$ \begin{pmatrix} 1& 0& 0 \\ 0& 1& 0 \\ 0& 0& 1 \end{pmatrix} $$
咱們將n維向量不變的單位矩陣即爲$\mathbf{I_n}$:
$$\forall \mathbf{x} \in R^n, \mathbf{I_nx = x}, 其中\mathbf{I_n \in R^{nxn}}$$
逆矩陣
矩陣逆是強大的工具, 對於大多數矩陣, 均可以經過矩陣逆解析求$\mathbf{Ax=b}$的解.
矩陣$\mathbf{A}$的矩陣逆記做: $\mathbf{A^{-1}}$, 矩陣逆知足以下條件:
$$\mathbf{A^{-1}A=I_n}$$
線性方程: $$X\cdot \vec{b} = \vec{y}$$
線性組合: X 中各個列向量乘以對應的係數之和: $$\sum_{i}b_i x^{(i)}$$
生成空間: X中的原始向量線性組合後能抵達的點的集合. 肯定上述方程是否有解至關於肯定向量$\vec{y}$ 是否在X 的列向量的生成子空間中.
矩陣X可逆時解爲$\vec b = X^{-1}\cdot y$ , 然而矩陣可逆是一個十分苛刻的條件,X 的列空間構成整個m維歐式空間$R^m$, 若$X\cdot \vec{b} = \vec{y}$對於每個y值最多有一個解, 則X矩陣至多有m個列向量.
所以, 矩陣X只有是方陣且全部列向量都是線性無關的時候才知足要求, 若列向量線性相關, 則成該方陣X是奇異的.
這裏引出了線性模型的基本模型: $$X\cdot \vec{b} = \vec{y}$$
X可逆時 ,咱們能夠直接對兩邊求逆, 獲得線性模型的惟一解:
$$\vec b = X^{-1}\cdot y$$
然而,樣本特徵組成的矩陣X每每是不可逆的, 即X每每不是方陣, 或者是奇異的方陣.
正由於在現實世界裏, 直接對矩陣求逆來獲得惟一解 $\vec{b}$ 幾乎是不可能的, 因此咱們纔會退而求其次, 用最小化偏差來逼近惟一解, 這叫作鬆弛求解.
求最小化偏差的通常方法是求殘差的平方和最小化, 這也就是所謂的線性最小二乘法.
在機器學習中, 一般用範數來衡量一個矩陣的大小, $L^p$範數公式: $$||x||_p = \left( \sum_i|x_i|^p \right)^\frac 1 p$$
注意抓重點: 範數在機器學習中是用來衡量一個向量的大小.
範數: 是將向量映射到非負值的函數. 簡單來說, 向量$\vec x$的範數是原點到$\vec x$的距離. 這裏之因此介紹範數, 是由於它涉及到機器學習中很是重要的正則化技術.
$p = 2$時, $L^2$稱爲歐幾里得範數(Euclidean norm), 表示原點到向量$\vec x$的歐氏距離, $L^2$範數一般簡寫爲$||x||$ , 它很是頻繁地出如今機器學習中. 此外, 平方$L^2$範數$\left(||x||\right)^2$也常常用來衡量向量的大小, 能夠簡單地用點積$\left( \vec x \right)^\top \cdot \vec x$計算.
$L^2$範數: $$||x||_2 = (\sum_i|x_i|^2)^\frac 1 2 $$
平方$L^2$範數: $$ ||x|| = \sum_i|x_i|^2$$
$L^1$範數: $$ ||x||_1 = \sum_i|x_i| $$
Frobenius範數: $$||A||_F=\sqrt{\sum_{i,j}{A_{i,j}}^{2}}$$
關於範數, 注意如下幾點:
平方$L^2$ 範數對$\vec x$各元素導數只和對應元素相關, 而$L^2$範數對個元素的導數和整個向量相關, 所以平方$L^2$範數計算更方便.
有時候平方$L^2$範數在原點附近增加緩慢, 在某些機器學習業務場景下, 區分元素值是否非零很重要, 此時更傾向於使用$L^1$範數.
$L^1$範數在各個位置斜率相同, 且數學形式較簡單, 每當$\vec x$中某元素從0增長了$\epsilon$ 時, 對應$L^1$範數也增長$\epsilon $, $L^1$範數一般被用在零和非零差別很是重要的機器學習問題中.
"$L^0$範數"一般用向量中非零元素個數來衡量向量大小, 可是這種說法不嚴謹, 由於從數學意義上講,對向量縮放$\alpha$倍, 向量大小會變, 可是機器學習中, 非零元素數目不變, 這和向量運算的數學意義相悖.
$L^\infty$範數稱爲最大範數(max norm), 表示最大幅值元素的絕對值: $||x||\infty=\max_i{|x_i|}$
Frobenius範數在機器學習中用來衡量矩陣大小.
兩個點積能夠用範數來表示: $\vec{x}^T \cdot \vec{y} = ||\vec{x}||_2||\vec{y}||_2cos\theta $
在機器學習中, $L^2$和$L^1$範數分別對應$L^2$和$L^1$正則化, 詳情參考線性模型中的嶺迴歸(Ridge Regression)和套索迴歸(Lasso).
非方陣方程,其逆矩陣沒有意義. 假設要求解線性方程
$$\vec{A} \cdot x = \vec{y}$$
等式兩邊左乘左逆$\vec{B}$後: $$x = \vec{B}y$$
是否存在惟一映射, 將$\vec{A}$映射到$\vec{B}$取決於問題形式:
若矩陣A行數大於列數, 則可能無解;
若矩陣A行數小於列數, 則可能有多個解.
僞逆能夠解決上述問題. 矩陣A的僞逆定義爲:
$$\lim_{a \searrow 0}(\vec{A^T}\vec{A} + \alpha \vec{I})^{-1}\cdot\vec{A^T}$$
違逆計算的簡化公式爲:
$$\vec{A^+} = \vec{V}\vec{D^+}\vec{U^T}$$
其中, 矩陣U, D, V是矩陣A的奇異值分解後的特殊矩陣, 其中$\vec{U}$和$\vec{V}$都是正交矩陣, $\vec{D}$爲對角矩陣(不必定是方陣). 對角矩陣D的僞逆$\vec{D^+}$是非零元素取倒數後再轉置獲得的.奇異值分解稱爲SVD(Singular Value Decomposition).
矩陣A的列數多於行數時, 可能有多個解. 僞逆求解線性方程是衆多解法中的一種, 即: $\vec{x} = \vec{A^+}\vec{y}$是全部可行解中歐幾里得距離最小的一個
矩陣A列數小於行數時, 可能沒有解. 僞逆求解獲得的x是$\vec{A}x$和$\vec{y}$的歐幾里得距離$||\vec{A}x-\vec{y}||_2^2$最小的解, 這裏又回到了求解線性問題的通常思路上: 線性最小二乘法.
一、曼哈頓距離
也稱爲城市街區距離,數學定義以下:
$$ d=\sum_{k=1}^n|x_{1k}-x_{2k}| $$
2. 歐氏距離
前面提到過, 歐氏距離就是$L_2$範數, 定義以下:
$$ d = \sqrt{\sum_{k=1}^n(x_{1k}-x_{2k})^2} $$
3. 閔可夫斯基距離
上述兩種距離的更通常形式, 完整的定義以下:
$$ d = \sqrt[p]{\sum_{k=1}^n(x_{1k}-x_{2k})^p} $$
4. 切比雪夫距離
即前面提到過的無窮範數$L^\infty$範數, 數學表達式:
$$ d=max(|x_{1k}-x_{2k}|) $$
隨機變量(連續,離散): 對可能狀態的描述
機率分佈: 用來指定每一個狀態的可能性
加條件機率: 求B條件下, A發生的機率: $$ P(A|B)=\frac{P(AB)}{P(B)}$$
條件獨立性
離散型變量和機率質量函數PMF(Probability Mass Function), 連續性變量和機率密度函數, 隨機變量的獨立性和條件獨立性, 邊緣機率, 條件機率.
條件機率的鏈式法則:
$$P(a,b,c)=P(a|b|c)P(b,c)$$
$$P(b,c)=P(b|c)P(c)$$
$$P(a,b,c)=P(a|b,c)P(b|c)P(c)$$
指望反應函數$f(x)$的平均值. 設$E_x~p[f(x)]$是函數$f(x)$關於某分佈$P(x)$的指望:
對於離散型隨機變量: $$E_x~p[f(x)]=\sum_x{P(x)f(x)}$$
對於連續性隨機變量:
$$E_x~p[f(x)]=\int p(x)f(x)dx$$
一般在機率上下文中能夠不寫腳標: $E[f(x)]$, 更通常地, 當沒有歧義時能夠省略方括號, 將指望簡寫爲$E$.
指望是線性的: $$E_x[\alpha{f(x)}+\beta{g(x)}]=\alpha{E_x}[f(x)]+\beta{E_x}[g(x)]$$
方差衡量x依它的機率分佈採樣時, 隨機變量x的函數$f(x)$差別程度. 方差的定義:
$$ Var(f(x))=E[|f(x)-E[f(x)]|^2]$$
協方差給出兩個變量的線性相關度及這些變量的尺度. 協方差定義:
$$ Cov(f(x),g(y))=E[(f(x)-E[f(x)])(g(y)-E(g(y)])]$$
關於協方差的特性:
若協方差絕對值很大, 則變量值得變化很大, 且相距各自均值很遠
若協方差爲正, 則兩變量x,y都傾向於取較大值, 若協方差爲負, 則一個傾向於取較大值,另外一個傾向取較小值
相關係數: 將每一個變量歸一化, 之衡量變量間的相關性, 不關注變量尺度大小.
Bernoulli分佈是單個二值隨機變量分佈, 單參數$\phi{\in}[0,1]$控制,$\phi$給出隨機變量等於1的機率. 一些性質:
$$P(x=1)=\phi$$
$$P(x=0) = 1-\phi$$
$$P(x=x)=\phi^x(1-\phi)^{1-x}$$
$$E_x[x]=\phi$$
$$Var_x(x)=\phi{(1-\phi)}$$
Multinoulli分佈也叫範疇分佈, 是單個$k$值隨機分佈,常常用來表示對象分類的分佈.
, 其中$k$是有限值.Multinoulli分佈由向量$\vec{p}\in[0,1]^{k-1}$參數化,每一個份量$p_i$表示第i個狀態的機率, 且$p_k=1-1^Tp$.
適用範圍: 伯努利分佈適合對離散型隨機變量建模, 注意下述狄拉克$\delta$函數適用對連續性隨機變量的經驗分佈建模.
高斯也叫正態分佈(Normal Distribution), 機率度函數以下:
$$N(x;\mu,\sigma^2) = \sqrt{\frac{1}{2\pi\sigma^2}}exp\left ( -\frac{1}{2\sigma^2}(x-\mu)^2 \right )$$
其中, $\mu$和$\sigma$分別是均值和方差, 中心峯值x座標由$\mu$給出, 峯的寬度受$\sigma$控制, 最大點在$x=\mu$處取得, 拐點爲$x=\mu{\pm}\sigma$.
正態分佈中,±1σ、±2σ、±3σ下的機率分別是68.3%、95.5%、99.73%,這3個數最好記住。
此外, 令$\mu=0,\sigma=1$高斯分佈即簡化爲標準正態分佈:
$$N(x;\mu,\sigma^2) = \sqrt{\frac{1}{2\pi}}exp\left ( -\frac{1}{2}x^2 \right )$$
對機率密度函數高效求值:
$$N(x;\mu,\beta^{-1})=\sqrt{\frac{\beta}{2\pi}}exp\left(-\frac{1}{2}\beta(x-\mu)^2\right)$$
其中, $\beta=\frac{1}{\sigma^2}$, 經過參數$\beta\in(0,\infty)$來控制分佈的精度.
問: 什麼時候採用正態分佈?
答: 缺少實數上分佈的先驗知識, 不知選擇何種形式時, 默認選擇正態分佈老是不會錯的, 理由以下:
中心極限定理告訴咱們, 不少獨立隨機變量均近似服從正態分佈, 現實中不少複雜系統均可以被建模成正態分佈的噪聲, 即便該系統能夠被結構化分解.
正態分佈是具備相同方差的全部機率分佈中, 不肯定性最大的分佈, 換句話說, 正態分佈是對模型加入先驗知識最少的分佈.
正態分佈的推廣:
正態分佈能夠推廣到$R^n$空間, 此時稱爲多位正態分佈, 其參數是一個正定對稱矩陣$\sum$:
$$N(x;\vec\mu,\sum)=\sqrt{\frac{1}{2\pi^ndet(\sum)}}exp\left(-\frac{1}{2}(\vec{x}-\vec{\mu})^T\sum^-1(\vec{x}-\vec{\mu})\right)$$
對多爲正態分佈機率密度高效求值:
$$N(x;\vec{\mu},\vec\beta^{-1}) = \sqrt{det(\vec\beta)}{(2\pi)^n}exp\left(-\frac{1}{2}(\vec{x}-\vec\mu)^T\beta(\vec{x}-\vec\mu)\right)$$
, 此處, $\vec\beta$是一個精度矩陣.
指數分佈
深度學習中, 指數分佈用來描述在$x=0$點出取得邊界點的分佈, 指數分佈定義以下:
$$p(x;\lambda)=\lambda1_{x\geq 0}exp(-\lambda{x})$$
, 指數分佈用指示函數$I_{x>=0}$來使x取負值時的機率爲零.
Laplace分佈
Laplace分佈容許咱們在任意一點$\mu$處設置機率質量的峯值:
$$ Laplace(x;\mu;\gamma)=\frac{1}{2\gamma}exp\left(-\frac{|x-\mu|}{\gamma}\right)$$
Dirac分佈
Dirac分佈可保證機率分佈中全部質量都集中在一個點上. Diract分佈的狄拉克δ函數(也稱爲單位脈衝函數)定義以下:
$$p(x)=\delta(x-\mu), x\neq \mu$$
$$\int_{a}^{b}\delta(x-\mu)dx = 1, a < \mu < b$$
狄拉克δ函數圖像:
說明:
嚴格來講狄拉克δ函數不能算是一個函數,而是一種數學對象, 由於知足以上條件的函數是不存在的, 可是咱們能夠用分佈的概念來解釋, 所以稱爲狄拉克分佈或者$\delta$分佈
它是一種極簡單的廣義函數. 廣義函數是一種數學對象, 依據積分性質而定義. 咱們能夠把狄拉克$\delta$函數想成一系列函數的極限點, 這一系列函數把除0之外的全部點的機率密度越變越小.
經驗分佈
狄拉克分佈常做爲經驗分佈的一個組成部分:
$$\hat{p}(\vec{x})=\frac{1}{m}\sum_{i=1}^{m}\delta(\vec{x}-{\vec{x}}^{(i)})$$
, 其中, m個點$x^{(1)}$, ..., $x^{(m)}$是給定的數據集, 經驗分佈將機率密度$\frac{1}{m}$賦給了這些點.
當咱們在訓練集上訓練模型時, 能夠認爲從這個訓練集上獲得的經驗分佈指明瞭採樣來源.
適用範圍: 狄拉克δ函數適合對連續型隨機變量的經驗分佈
一階優化(梯度降低)
二階最優化算法(牛頓優化算法)
Jacobian和Hessian矩陣
約束優化
線性最小二乘法
分類
迴歸
去燥和異常檢測
密度估計
無監督和有監督算法介紹
線性迴歸
奧卡姆剃鬚刀約簡原則
貝葉斯偏差
沒有免費午飯定理
正則化
點估計
誤差,均方差,方差和標準差
最大似然估計
貝葉斯統計
邏輯迴歸(Logistic Regression)
支持向量機(SVM)
主成分分析
K-均值聚類
維數災難
局部不變性和平滑正則化
流形學習
線性單元
隱藏單元
輸出單元
損失函數
激活函數
...