機器學習中25個最重要的數學定義(公式、代碼實現)
這些數學定義構成了數據科學/機器學習/深度學習的重要基礎,從優化算法到概率分佈,從特徵工程到模型評估,它們在數據科學的各個環節都發揮着關鍵作用。理解和掌握這些定義,對於深入學習和應用數據科學技術至關重要。
1. 梯度下降(Gradient Descent)公式講解
梯度下降是一種優化算法,用於最小化損失函數。其中, 是第 次迭代的參數, 是學習率, 是損失函數 在 處的梯度。它通過不斷沿着梯度的反方向更新參數,來逐步接近損失函數的最小值。
代碼實現(Python)
正態分佈是一種常見的概率分佈, 是均值, 是方差。它的概率密度函數呈鐘形曲線,許多自然現象和數據都近似服從正態分佈。
代碼實現(Python)
Z - 分數用於標準化數據,它表示一個數據點 距離均值 有多少個標準差 。通過Z - 分數變換,可以將不同尺度的數據轉換到同一尺度,便於比較和分析。
代碼實現(Python)
Sigmoid 函數常用於將實數映射到 (0, 1) 區間,常作爲神經網絡中的激活函數。它將輸入值壓縮到一個概率值範圍內,特別適用於二分類問題。
代碼實現(Python)
相關性用於衡量兩個變量 和 之間的線性相關程度。 是協方差, 和 分別是 和 的標準差。相關性係數的取值範圍是 [-1, 1],-1 表示完全負相關,1 表示完全正相關,0 表示無線性相關。
代碼實現(Python)
餘弦相似度用於衡量兩個向量 和 的夾角餘弦值,從而判斷它們的相似程度。它常用於文本相似度計算等領域,不考慮向量的長度,只關注向量的方向。
代碼實現(Python)
樸素貝葉斯是一種基於貝葉斯定理的分類算法,假設特徵之間相互獨立。它通過計算給定特徵下類別的後驗概率,來進行分類預測。
代碼實現(Python)
最大似然估計是一種參數估計方法,通過找到使觀測數據出現概率最大的參數值 來估計模型參數。它假設數據是獨立同分布的。
代碼實現(Python)
普通最小二乘法用於線性迴歸,通過最小化觀測值 與預測值 之間的誤差平方和,來估計迴歸係數 。 是特徵矩陣, 是目標變量。
代碼實現(Python)
F1 - 分數是一種用於衡量分類模型性能的指標,它綜合了精確率 和召回率 。精確率是預測爲正例中實際爲正例的比例,召回率是實際正例中被預測爲正例的比例。F1 - 分數越高,說明模型在正例識別上的綜合性能越好。
代碼實現(Python)
ReLU 是一種常用的神經網絡激活函數,它將所有負輸入值置爲 0,正輸入值保持不變。它解決了梯度消失問題,並且計算效率高。
代碼實現(Python)
Softmax 函數常用於多分類問題,將輸入向量轉換爲概率分佈,使得所有類別的概率之和爲 1。它輸出每個類別的概率,便於進行分類決策。
代碼實現(Python)
R2 - 分數用於評估迴歸模型的擬合優度,取值範圍是 [0, 1]。1 表示模型完全擬合數據,0 表示模型與數據的均值預測效果相同。
代碼實現(Python)
均方誤差是一種常用的迴歸模型損失函數,它計算預測值 與真實值 之間誤差的平方的平均值,衡量了模型預測值與真實值的平均偏離程度。
代碼實現(Python)
在均方誤差的基礎上加入 L2 正則化項, 是正則化參數, 是模型參數。L2 正則化通過懲罰較大的參數值,防止模型過擬合。
代碼實現(Python)
對於一個方陣 ,如果存在非零向量 和標量 滿足上述公式,那麼 就是 的特徵向量, 是對應的特徵值。特徵向量和特徵值在主成分分析(PCA)等降維技術中有重要應用。
代碼實現(Python)
熵是信息論中的一個概念,用於衡量隨機變量的不確定性。 是事件 發生的概率,熵越大,說明不確定性越高。
代碼實現(Python)
K - 均值聚類是一種無監督學習算法,將數據集劃分爲 個簇。它通過不斷更新簇中心 ,使得每個數據點到其所屬簇中心的距離平方和最小。
代碼實現(Python)
KL 散度用於衡量兩個概率分佈 和 之間的差異。它是非對稱的,即 。
代碼實現(Python)
對數損失常用於分類問題,衡量預測概率 與真實標籤 之間的差異。它對錯誤預測給予較大的懲罰。
代碼實現(Python)
SVM 是一種分類和迴歸模型,通過尋找一個最優超平面來最大化樣本點到超平面的間隔。 是超平面的法向量, 是偏置, 是懲罰參數。
代碼實現(Python)
線性迴歸是一種基本的監督學習算法,用於建立自變量 與因變量 之間的線性關係。其中, 是截距, 是迴歸係數, 是誤差項,通常假定其服從均值爲 0 的正態分佈。通過最小化預測值與真實值之間的誤差(如均方誤差),可以估計出迴歸係數的值。
代碼實現(Python)
對於任意的 矩陣 ,奇異值分解將其分解爲三個矩陣的乘積。其中, 是 的正交矩陣,其列向量稱爲左奇異向量; 是 的對角矩陣,對角線上的元素稱爲奇異值,通常按從大到小排列; 是 的正交矩陣,其列向量稱爲右奇異向量。SVD 在數據降維、圖像壓縮、推薦系統等領域有廣泛應用。
代碼實現(Python)
講解
拉格朗日乘數法是一種用於求解在等式約束條件下函數極值的方法。給定目標函數 和約束條件 ,通過引入拉格朗日乘數 構建拉格朗日函數 。然後,對 分別關於 和 求偏導數,並令偏導數等於 0,求解得到的方程組,即可得到在約束條件下目標函數的極值點。
代碼實現(Python,以一個簡單的例子說明)
交叉熵用於衡量兩個概率分佈 和 之間的差異,在機器學習中常用於分類問題的損失函數。當 是真實分佈, 是預測分佈時,交叉熵越小,表示預測分佈與真實分佈越接近。
代碼實現(Python)