作為一個标準的程式員,應該有一些基本的數學素養,尤其現在很多人在學習人工智能相關知識。很多程式員可能連這樣一些基礎的數學問題都回答不上來。
1、矩陣A(m,n)與矩陣B(n,k)乘積C次元是多少?
2、抛一枚硬币,正面表示1,反面表示0,那麼取值的數學期望E(x)是多少。
作為一個傲嬌的程式員,應該要掌握這些數學基礎知識,才更有可能碼出一個偉大的産品。
線性代數
向量
向量(vector)是由一組實數組成的有序數組,同時具有大小和方向。一個n維向量a是由n個有序實數組成,表示為
a = [a1, a2, · · · , an]
矩陣
線性映射 矩陣通常表示一個n維線性空間v到m維線性空間w的一個映射f: v -> w
注:為了書寫友善,X.T,表示向量X的轉置。
這裡:X(x1,x2,...,xn).T,y(y1,y2,...ym).T,都是列向量。分别表示v,w兩個線性空間中的兩個向量。A(m,n)是一個m*n的矩陣,描述了從v到w的一個線性映射。
轉置 将矩陣行列互換。
加法 如果A和B 都為m × n的矩陣,則A和B 的加也是m × n的矩陣,其每個元素是A和B相應元素相加。
[A + B]ij = aij + bij .
乘法 如A是k × m矩陣和B 是m × n矩陣,則乘積AB 是一個k × n的矩陣。
對角矩陣 對角矩陣是一個主對角線之外的元素皆為0的矩陣。對角線上的元素可以為0或其他值。一個n × n的對角矩陣A滿足:
[A]ij = 0 if i ̸= j ∀i, j ∈ {1, · · · , n}
特征值與特征矢量 如果一個标量λ和一個非零向量v滿足
Av = λv,
則λ和v分别稱為矩陣A的特征值和特征向量。
矩陣分解 一個矩陣通常可以用一些比較“簡單”的矩陣來表示,稱為矩陣分解。
奇異值分解 一個m×n的矩陣A的奇異值分解
其中U 和V 分别為m × m和n×n 的正交矩陣,Σ為m × n的對角矩陣,其對角
線上的元素稱為奇異值(singular value)。
特征分解 一個n × n的方塊矩陣A的特征分解(Eigendecomposition)定義為
其中Q為n × n的方塊矩陣,其每一列都為A的特征向量,^為對角陣,其每一
個對角元素為A的特征值。
如果A為對稱矩陣,則A可以被分解為
其中Q為正交陣。
微積分
導數 對于定義域和值域都是實數域的函數f : R → R,若f(x)在點x0 的某個鄰域∆x内,極限
存在,則稱函數f(x)在點x0 處可導,f'(x0)稱為其導數,或導函數。
若函數f(x)在其定義域包含的某區間内每一個點都可導,那麼也可以說函數f(x)在這個區間内可導。連續函數不一定可導,可導函數一定連續。例如函數|x|為連續函數,但在點x = 0處不可導。
導數法則
加法法則 y = f(x),z = g(x)則
乘法法則
鍊式法則 求複合函數導數的一個法則,是在微積分中計算導數的一種常用方法。若x ∈ R,y = g(x) ∈ R,z = f(y) ∈ R,則
Logistic 函數
Logistic函數是一種常用的S形函數,是比利時數學家 Pierre François Verhulst在1844-1845年研究種群數量的增長模型時提出命名的,最初作為一種生
态學模型。
Logistic函數定義為:
當參數為(k = 1, x0 = 0, L = 1)時,logistic函數稱為标準logistic函數,記
為σ(x)。
标準logistic函數在機器學習中使用得非常廣泛,經常用來将一個實數空間的數映射到(0, 1)區間。标準logistic函數的導數為:
softmax 函數
softmax函數是将多個标量映射為一個機率分布。對于K 個标量x1, · · · , xK,softmax 函數定義為
這樣,我們可以将K 個變量x1, · · · , xK 轉換為一個分布:z1, · · · , zK,滿足
當softmax 函數的輸入為K 維向量x時,
其中,1K = [1, · · · , 1]K×1 是K 維的全1向量。其導數為
數學優化
離散優化和連續優化:根據輸入變量x的值域是否為實數域,數學優化問題可以分為離散優化問題和連續優化問題。
無限制優化和限制優化:在連續優化問題中,根據是否有變量的限制條件,可以将優化問題分為無限制優化問題和限制優化問題。
優化算法
全局最優和局部最優
海賽矩陣
《運籌學裡面有講》,前面一篇文章計算梯度步長的時候也用到了:
梯度
梯度的本意是一個向量(矢量),表示某一函數在該點處的方向導數沿着該方向取得最大值,即函數在該點處沿着該方向(此梯度的方向)變化最快,變化率最大(為該梯度的模)。
梯度下降法
梯度下降法(Gradient Descent Method),也叫最速下降法(Steepest Descend Method),經常用來求解無限制優化的極小值問題。
梯度下降法的過程如圖所示。曲線是等高線(水準集),即函數f為不同常數的集合構成的曲線。紅色的箭頭指向該點梯度的反方向(梯度方向與通過該點的等高線垂直)。沿着梯度下降方向,将最終到達函數f 值的局部最優解。
梯度上升法
如果我們要求解一個最大值問題,就需要向梯度正方向疊代進行搜尋,逐漸接近函數的局部極大值點,這個過程則被稱為梯度上升法。
機率論
機率論主要研究大量随機現象中的數量規律,其應用十分廣泛,幾乎遍及各個領域。
離散随機變量
如果随機變量X 所可能取的值為有限可列舉的,有n個有限取值
{x1, · · · , xn},
則稱X 為離散随機變量。要了解X 的統計規律,就必須知道它取每種可能值xi 的機率,即
p(x1), · · · , p(xn)稱為離散型随機變量X 的機率分布或分布,并且滿足
常見的離散随機機率分布有:
伯努利分布
二項分布
連續随機變量
與離散随機變量不同,一些随機變量X 的取值是不可列舉的,由全部實數
或者由一部分區間組成,比如
則稱X 為連續随機變量。
機率密度函數
連續随機變量X 的機率分布一般用機率密度函數p(x)來描述。p(x)為可積函數,并滿足:
均勻分布若a, b為有限數,[a, b]上的均勻分布的機率密度函數定義為
正态分布又名高斯分布,是自然界最常見的一種分布,并且具有很多良好的性質,在很多領域都有非常重要的影響力,其機率密度函數為
其中,σ > 0,µ和σ 均為常數。若随機變量X 服從一個參數為µ和σ 的機率分布,簡記為
當µ = 0,σ = 1時,稱為标準正态分布。
均勻分布和正态分布的機率密度函數圖:
累積分布函數
對于一個随機變量X,其累積分布函數是随機變量X 的取值小于等于x的機率。
以連續随機變量X 為例,累積分布函數定義為:
其中p(x)為機率密度函數,标準正态分布的累計分布函數:
随機向量
随機向量是指一組随機變量構成的向量。如果X1, X2, · · · , Xn 為n個随機變量, 那麼稱 [X1, X2, · · · , Xn] 為一個 n 維随機向量。一維随機向量稱為随機變量。随機向量也分為離散随機向量和連續随機向量。
條件機率分布 對于離散随機向量(X, Y ),已知X = x的條件下,随機變量Y = y 的條件機率為:
對于二維連續随機向量(X, Y ),已知X = x的條件下,随機變量Y = y 的條件機率密度函數為
期望和方差
期望 對于離散變量X,其機率分布為p(x1), · · · , p(xn),X 的期望(expectation)或均值定義為
對于連續随機變量X,機率密度函數為p(x),其期望定義為
方差随機變量X 的方差(variance)用來定義它的機率分布的離散程度,定義為
标準差随機變量 X 的方差也稱為它的二階矩。X 的根方差或标準差。
協方差 兩個連續随機變量X 和Y 的協方差(covariance)用來衡量兩個随機變量的分布之間的總體變化性,定義為
協方差經常也用來衡量兩個随機變量之間的線性相關性。如果兩個随機變量的協方差為0,那麼稱這兩個随機變量是線性不相關。兩個随機變量之間沒有線性相關性,并非表示它們之間獨立的,可能存在某種非線性的函數關系。反之,如果X 與Y 是統計獨立的,那麼它們之間的協方差一定為0。
随機過程
随機過程(stochastic process)是一組随機變量Xt 的集合,其中t屬于一個索引(index)集合T 。索引集合T 可以定義在時間域或者空間域,但一般為時間域,以實數或正數表示。當t為實數時,随機過程為連續随機過程;當t為整數時,為離散随機過程。日常生活中的很多例子包括股票的波動、語音信号、身高的變化等都可以看作是随機過程。常見的和時間相關的随機過程模型包括貝努力過程、随機遊走、馬爾可夫過程等。
馬爾可夫過程 指一個随機過程在給定現在狀态及所有過去狀态情況下,其未來狀态的條件機率分布僅依賴于目前狀态。
其中X0:t 表示變量集合X0, X1, · · · , Xt,x0:t 為在狀态空間中的狀态序列。
馬爾可夫鍊 離散時間的馬爾可夫過程也稱為馬爾可夫鍊(Markov chain)。如果一個馬爾可夫鍊的條件機率
馬爾可夫的使用可以看前面一篇寫的有意思的文章:
随機過程還有高斯過程,比較複雜,這裡就不詳細說明了。
資訊論
資訊論(information theory)是數學、實體、統計、計算機科學等多個學科的交叉領域。資訊論是由 Claude Shannon最早提出的,主要研究資訊的量化、存儲和通信等方法。在機器學習相關領域,資訊論也有着大量的應用。比如特征抽取、統計推斷、自然語言處理等。
自資訊和熵
在資訊論中,熵用來衡量一個随機事件的不确定性。假設對一個随機變量X(取值集合為C機率分布為p(x), x ∈ C)進行編碼,自資訊I(x)是變量X = x時的資訊量或編碼長度,定義為
I(x) = − log(p(x)),
那麼随機變量X 的平均編碼長度,即熵定義為
其中當p(x) = 0時,我們定義0log0 = 0
熵是一個随機變量的平均編碼長度,即自資訊的數學期望。熵越高,則随機變量的資訊越多;熵越低,則資訊越少。如果變量X 當且僅當在x時p(x) = 1,則熵為0。也就是說,對于一個确定的資訊,其熵為0,資訊量也為0。如果其機率分布為一個均勻分布,則熵最大。假設一個随機變量X 有三種可能值x1, x2, x3,不同機率分布對應的熵如下:
聯合熵和條件熵 對于兩個離散随機變量X 和Y ,假設X 取值集合為X;Y 取值集合為Y,其聯合機率分布滿足為p(x, y),則X 和Y 的聯合熵(Joint Entropy)為
X 和Y 的條件熵為
互資訊 互資訊(mutual information)是衡量已知一個變量時,另一個變量不确定性的減少程度。兩個離散随機變量X 和Y 的互資訊定義為
交叉熵和散度
交叉熵 對應分布為p(x)的随機變量,熵H(p)表示其最優編碼長度。交叉熵是按照機率分布q 的最優編碼對真實分布為p的資訊進行編碼的長度,定義為
在給定p的情況下,如果q 和p越接近,交叉熵越小;如果q 和p越遠,交叉熵就越大。
文章來源:https://blog.csdn.net/ddxygq/article/details/101351768