ML与math:机器学习与高等数学基础概念、代码实现、案例应用之详细攻略——基础篇
ML與math:機器學習與高等數學基礎概念、代碼實現、案例應用之詳細攻略——基礎篇
?
?
目錄
一、ML與高等數學
0、基礎數學
1、導數、方向導數、梯度
1.1、概念簡介
1.2、代碼實現
2、Taylor展開
3、凸函數
二、ML與概率統計
1、古典概率
2、貝葉斯公式
3、常見概率分布
4、重要統計量(基于全局的而不是樣本)
5、不等式系列
6、樣本估計參數
7、先驗概率、后驗概率
三、ML與線性代數
?
?
?
?
?
?
相關文章
ML與math:機器學習與高等數學基礎概念、代碼實現、案例應用之詳細攻略——基礎篇
ML與math:機器學習與高等數學基礎概念、代碼實現、案例應用之詳細攻略——進階篇???????
DL之simpleNet:利用自定義的simpleNet(設好權重)對新樣本進行預測、評估、輸出梯度值
?
一、ML與高等數學
0、基礎數學
(1)、平方根:一般若干次(5、6次)迭代即可獲得比較好的近似值。
(2)、拉格朗日函數解決帶約束的優化問題
?
?
1、導數、方向導數、梯度
1.1、概念簡介
(1)、已知函數f(x)=x^x,x>0,求f(x)的最小值:在信息熵中會遇到
(2)、方向導數、梯度
?
1.2、代碼實現
(1)、求導:利用微小的差分求導數的過程稱為數值微分(numerical differentiation)
#利用微小的差分求導數的過程稱為數值微分(numerical differentiation) def numerical_diff(f, x):h = 1e-4 # 0.0001return (f(x+h) - f(x-h)) / (2*h)(2)、實現簡單的函數求導
import numpy as np import matplotlib.pylab as pltdef numerical_diff(f, x):h = 1e-4 # 0.0001return (f(x+h) - f(x-h)) / (2*h)def function_1(x):return 0.01*x**2 + 0.1*xdef tangent_line(f, x):d = numerical_diff(f, x)print(d)y = f(x) - d*xreturn lambda t: d*t + yx = np.arange(0.0, 20.0, 0.1) # 以0.1為單位,從0到20的數組x y = function_1(x)tf = tangent_line(function_1, 5) y2 = tf(x)plt.xlabel("x") plt.ylabel("f(x)") plt.plot(x, y) plt.plot(x, y2) plt.title('f(x) = 0.01*x^2 + 0.1x') plt.show()#對函數求導:在x=5 和x=10 處的導數 #利用微小的差分求導數的過程稱為數值微分(numerical differentiation)print('x=5 處求導:',numerical_diff(function_1, 5)) print('x=10 處求導:',numerical_diff(function_1, 10)) #和真實結果對比,發現雖然嚴格意義上并不一致,但誤差非常小。實際上,誤差小到基本上可以認為它們是相等的。0.1999999999990898 x=5 處求導: 0.1999999999990898 x=10 處求導: 0.2999999999986347(3)、求偏導數
?? ?
(4)、梯度法求的最小值
(5)、綜合案例
輸出結果
求x0=3, x1=4時,關于x0的偏導數: 6.00000000000378
求x0=3, x1=4時,關于x1的偏導數: 7.999999999999119
求點(3, 4)、(0, 2)、(3, 0) 處的梯度
[6. 8.]
[0. 4.]
[6. 0.]
求函數最小值: [-6.11110793e-10 ?8.14814391e-10]
學習率過大的例子:lr=10.0: [-2.58983747e+13 -1.29524862e+12]
學習率過小的例子:lr=1e-10: [-2.99999994 ?3.99999992]
輸出權重參數:
[[-1.20419093 ?2.09426703 ?1.46228252]
?[ 1.74419802 ?0.55102885 ?1.2495018 ]]
輸出預測: [0.84726366 1.75248618 2.00192113]
最大值的索引: 2
loss: 0.7392699844784301
求出梯度值:?
?[[ 0.09028775 ?0.22323484 -0.31352259]
?[ 0.13543162 ?0.33485226 -0.47028388]]
實現代碼
ML之Math:理解機器學習的數學基礎之求導、求偏導、求梯度、定義梯度下降算法(并嘗試調參lr)
?
?
2、Taylor展開
(1)、Taylor公式的應用:求e^x
(2)、Taylor公式的應用:
?
3、凸函數
???
(1)、凸函數的判定:
定理:f(x)在區間[a,b]上連續,在(a,b)內二階可導,那么:
? 若f’’(x)>0,則f(x)是凸的;
? 若f’’(x)<0,則f(x)是凹的
即:一元二階可微的函數在區間上是凸的,當且僅當它的二階導數是非負的
(2)、凸函數性質的應用:下邊的式子在最大熵模型內容
?
?
?
二、ML與概率統計
概率與統計,其實關注的是兩個不同類的點,實際上是兩個相反的思路。
概率:已知總體,去求具體事件A的概率;
統計:已知某件事B發生,估計產生事件B的總體概率是多少。
(1)、生日悖論
(2)、將12件正品和3件次品隨機裝在3個箱子中。每箱中恰有1件次品的概率是多少?
解:將15件產品裝入3個箱子,每箱裝5件,共有15!/(5!5!5!)種裝法;
? 先把3件次品放入3個箱子,有3!種裝法。對于這樣的每一種裝法,把其余12件產品裝入3個箱子,每箱裝4件,共有12!/(4!4!4!)種裝法;
? P(A)= (3!*12!/(4!4!4!)) / (15!/(5!5!5!)) = 25/91
?
?
1、古典概率
(1)、舉例:將n個不同的球放入N(N≥n)個盒子中,假設盒子容量無限,求事件A={每個盒子至多有1個球}的概率。
?
?
2、貝葉斯公式
?
3、常見概率分布
(0)、統計參數總結:
| 均值 | 期望,一階 |
| 方差 | 標準差,二階 ?1)、變異系數Coefficient of Variation:標準差與平均數的比值稱為變異系數,記為C·V |
| 偏度 | Skew三階。 (1)、偏度衡量隨機變量概率分布的不對稱性,是概率密度曲線相對于平均值不對稱程度的度量。 (2)、三階累積量與二階累積量的1.5次方的比率。偏度有時用Skew[X]來表示。 (3)、偏度的值可以為正,可以為負或者無定義。
|
| 峰度 | Kurtosis四階 ? (1)、峰度是概率密度在均值處峰值高低的特征,通常定義四階中心矩除以方差的平方減3。 (1)、也被稱為超值峰度(excess kurtosis)。“減3”是為了讓正態分布的峰度為0。 超值峰度為正,稱為尖峰態(leptokurtic);超值峰度為負,稱為低峰態(platykurtic) |
1)、統計參數應用舉例:特異值處理
?
?
?
(1)、兩點分布(0-1分布)、二項分布、泊松分布、均勻分布、指數分布(其無記憶性)、正態分布
(2)、概率題轉為圖求解
?? ? ?A、B兩國元首相約在首都機場晚20點至24點交換一份重要文件。如果A國的飛機先到,A會等待1個小時;如果B國的飛機先到了,B會等待2個小時。假設兩架飛機在20點至24點降落機場的概率是均勻分布,試計算能夠在20點至24點完成交換的概率。注:假設交換文件本身不需要時間。
| 解:假定A到達的時刻為x,B達到的時刻為y,則完成交接需滿足0<y-x<1或者0<x-y<2; ? 同時要求20<x<24,20<y<24; ? 由于x,y系數都為1,為作圖方便,可以將24<x<20,24<y<20平移成4<x<0,4<y<0。 | 三角形面積9/2、2,矩形面積16,概率19/32 |
(3)、一定接受率下的采樣
已知有個rand7()的函數,返回1到7隨機自然數,讓利用這個rand7()構造rand10() 隨機1~10。
? 解:因為rand7僅能返回1~7的數字,少于rand10的數目。因此,多調用一次,從而得到49種組合。超過10的整數倍部分,直接丟棄。
?
4、重要統計量(基于全局的而不是樣本)
(1)、期望與方差
期望:可以理解為這個變量的平均值,是對隨機變量本身“客觀價值”的一種表現。因為隨機無法確定,大家心里需要有個數,這個隨機的因素到底圍繞的哪條線變化,期望就是那條線。
方差:是另一種特征,他描述的是隨機變量的波動性(圍繞著期望波動)的大小。方差越大,說明這個事變數越大,容易偏離平均值很遠。
(2)、協方差與相關系數
協方差:兩個變量在變化過程中是同方向變化?還是反方向變化?同向或反向程度如何? ?你變大,同時我也變大,說明兩個變量是同向變化的,這時協方差就是正的。 ?你變大,同時我變小,說明兩個變量是反向變化的,這時協方差就是負的。 ?從數值來看,協方差的數值越大,兩個變量同向程度也就越大。反之亦然。
相關系數:是用以反映變量之間相關關系密切程度的統計指標。比如,降維算法就是從10萬變量中,挑選相關系數Top1000。
- 相關系數是指利用ML提取的10萬個特征向量,分別與標簽向量之間得到,從而挑選相關系數。
-
相關系數矩陣可以發現特征之間的相關性,越藍越靠近1越正相關。
(3)、獨立和不相關
?
5、不等式系列
Jensen不等式:
切比雪夫不等式:
大數定律:
中心極限定理:
1、標準的中心極限定理的問題及應用
(1)、有一批樣本(字符串),其中a-z開頭的比例是固定的,但是量很大,需要從中隨機抽樣。樣本量n,總體中a開頭的字符串占比1%,需要每次抽到的a開頭的字符串占比(0.99%,+1.01%),樣本量n至少是多少?
問題重述:大量存在的兩點分布Bi(1,p),其中,Bi發生的概率為0.01,即p=0.01。取其中的n個,使得發生的個數除以總數的比例落在區間(0.0099,0.0101),則n至少是多少?
2、中心極限定理的意義
?
?
6、樣本估計參數
矩估計
極大似然估計
?
7、先驗概率、后驗概率
(1)、
?
?
三、ML與線性代數
1、矩陣連乘問題從算法到實現
由m[i,j]的遞推關系式可以看出,在計算m[i,j]時,需要用到m[i+1,j],m[i+2,j]…m[j-1,j];因此,求m[i,j]的前提,不是m[0…i-1;0…j-1] ,而是沿著主對角線開始,依次求取到右上角元素。
(1)、因為m[i,j]一個元素的計算,最多需要遍歷n-1次,共O(n2)個元素,故算法的時間復雜度是O(n3),空間復雜度是O(n2)。
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的ML与math:机器学习与高等数学基础概念、代码实现、案例应用之详细攻略——基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML:推荐给小白入门机器学习一系列书籍
- 下一篇: ML之DR之SVD:SVD算法相关论文、