【機器學習筆記05】Jacobian矩陣&Hessian矩陣
Jacobian矩陣
Jacobian矩陣是函式對向量求導,其結果是一階偏導陣列成的矩陣。假設:F:Rn→Rm也就是一個n維歐式空間向m維歐式空間的一個對映。
舉例:
- 由球座標系轉換到直角座標系,存在對映形式化表示如下:
R×[0,π]×[0,2π]→R3
原始座標:
x1=rcosθsinϕ
x
JF(x1,x2,x3)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡∂x1∂y1∂x1∂y2∂x1∂y3∂x1∂y4∂x2∂y1∂x2∂y2∂x2∂y3∂x2∂y4∂x3∂y1∂x3∂y2∂x3∂y3∂x3∂y4⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎡10
Jacobian矩陣
Jacobian矩陣是函式對向量求導,其結果是一階偏導陣列成的矩陣。假設:F:Rn→RmF:R_n \to R_mF:Rn→Rm也就是一個n維歐式空間向m維歐式空間的一個對映。
舉例:
由球座標系轉換到直角座標系,存在對映形式化表
【參考資料】 【1】《蟻群演算法原理及其應用》 【2】測試資料: https://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/tsp/att48.tsp.gz
演算法原理(以TSP問題為例)
(1)引數初始化。令時間t=0和迴圈次數
根據部落格https://blog.csdn.net/itas109/article/details/80898943 才知道如何查詢已有資料庫欄位。
Django官方文件https://docs.djangoproject.com/zh-hans/2.0/寫的真爛,愣是沒找到如何
數學基礎
1.轉置矩陣
定義: 將矩陣A同序數的行換成列成為轉置矩陣ATA^TAT,舉例:
A=(1203−11)A=\begin{pmatrix}
1 & 2 & 0 \\
3 & -1 &
【參考資料】
【1】《概率論與數理統計》
【2】 http://scikit-learn.org /stable/auto_examples/ linear_model/ plot_ols.html # sphx-glr-auto-examples-
梯度下降
梯度下降是一個尋找函式機值的方式,屬於最優化裡的基礎演算法,在低維度的情況下非常容易理解。
例如存在函式y=x2y=x^2y=x2存在導數dy=2x,若當前點在x=1點,設dx的步長為0.1。此時我們通過負梯度計算下一個x點xt+1=xt−2∗0.
基本定義
首先給出softmax的數學定義,如下:
hθ(x(i))=[p(y(i)=1∣x(i);θ)p(y(i)=2∣x(i);θ)⋮p(y(i)=k∣x(i);θ)]=1∑j=1keθjTx(i)[eθ1Tx(i)eθ2Tx(i)⋮eθkTx(i)]
【參考資料】
【1】《統計學習方法》
隱馬爾可夫模型(HMM)定義
隱馬爾可夫模型: 隱馬爾可夫模型是關於時序的模型,描述一個由隱藏的馬爾可夫鏈生成的不可觀測的狀態序列,再由各個狀態生成的觀測值所構成的一個觀測序列。
形式化定義HMM為λ=(A,B,π)\la
奇異值分解
定義: 假設A是一個m×nm \times nm×n的矩陣,則存在如下一種分解:
Am×n=Um×m∑m×nVn×nTA_{m \times n}=U_{m \times m} \sum_{m \times n} V_{n \times n}^T
【參考資料】
【1】《統計學習方法》
基本概念
當訓練資料線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性可分支援向量機,又稱硬間隔支援向量機;
當訓練資料近似線性可分時,通過軟間隔(增加一個鬆弛因子)後學習一個線性的分類器,即軟間隔支援向量機;
【參考文獻】
【1】《面向機器智慧的TensorFlow實踐》4.7
假設存在網路結果如下
各個層輸出定義
L1=sigmoid(w1⋅x)L_1 = sigmoid(w_1 \cdot x)L1=sigmoid(w1⋅x)
L2=sigmoid(w2⋅L
K-means 演算法
演算法流程如下:
(1)在樣本中選擇兩個點(也可以是若干個)作為種子點;
(2)計算其餘各個樣本離該種子點的距離,並將其分為兩類;
(3)將種子點移到(2)所分為的兩類的中間;
(4)重複(2)(3)直到種子不再移動;
K-means
PCA演算法
去平均值,即每一位特徵減去各自的平均值
計算新矩陣的協方差矩陣
設$X=(X_1, X_2…X_N)^T $,在鳶尾花例子裡N=4,會生成一個4*4的協方差矩陣
稱矩陣
C=(cij)n×n=(c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯
【參考資料】
【1】《深度學習》 花書 6.1
亦或問題
由於單層感知機相當於在一個空間增加了一個超平面進行分類,那麼對於像亦或問題這樣的情況則無法完成。
因此在多層感知機中增加了一個隱藏層,即一個啟用函式。現代神經網路最常用的啟用函式是整流線性單元,ReL
【參考資料】
【1】《人工神經網路教程》
【2】《matlab 2015b 神經網路技術》
基本概念
單層感知器可以看成一個線性累加器和一個二值化閾值元器件,通常會在累加一個偏移量。由公式表達為:oj=sgn(∑i=1nwijxi+b)o_j= sgn(\s
【參考資料】
【1】《統計學習方法》
【2】《凸優化》
【3】小象學院 《凸優化》
凸集
直線和線段的表達
設x1≠x2x_1 \ne x_2x1̸=x2是RnR^nRn空間上的兩個點,具有存在下列定義的點:
y=θx1+(1−θ)x2y = \thet
【參考資料】
【1】《統計學習方法》
【2】《概率論與數理統計》
【3】小象學院 EM演算法
高斯分佈
定義: 如果隨機變數X的概率密度為f(x)=12πσe−(x−u)22σ2f(x)= \dfrac{1}{\sqrt{2\pi}\sigma}e^{-\df
【參考資料】
【1】《面向機器智慧的tensorflow實踐》
【2】Keras/example – mnist_cnn.py
【3】Keras中文文件
常用層
卷積層
卷積理解就是之前影象處理裡用作檢測邊緣、檢測角點的運算元,例如:
輸入:
[1234]
\
基礎迴圈神經網路
迴圈神經網路(RNN)是一個由神經元和權值構成的有向圖,它的當前狀態與前一時刻的狀態和當前輸入決定,因此當前狀態也被稱為工作記憶。迴圈神經網路在時間序列上展開後如上圖所示,用於解決序列化的問題,諸如語音識別、語音合成、文字生成。
例子:利
梯度消失原因
TBD
模型定義
LSTM 長短期記憶網路是一種特殊的RNN,為解決梯度爆炸和梯度消失的問題,LSTM將RNN中普通的神經元替換成了擁有少量記憶的LSTM單元。
第一步: 決定丟棄資訊
第二步: 確定更新資訊
第三步: 更新狀態
第四 相關推薦
【機器學習筆記05】Jacobian矩陣&Hessian矩陣
【機器學習筆記35】蟻群演算法
【Django2x 學習筆記 05】面向api(模板使用者請跳過),操作已有資料庫的查詢、增加、修改
【機器學習筆記02】最小二乘法(多元線性迴歸模型)
【機器學習筆記01】最小二乘法(一元線性迴歸模型)
【機器學習筆記04】隨機梯度下降
【機器學習筆記08】分類器(softmax迴歸)
【機器學習筆記18】隱馬爾可夫模型
【機器學習筆記14】奇異值分解(SVD)
【機器學習筆記17】支援向量機
【機器學習筆記20】神經網路(鏈式求導和反向傳播)
【機器學習筆記12】聚類(k-means)
【機器學習筆記15】主成分分析(PCA)
【機器學習筆記21】神經網路(多層感知機)
【機器學習筆記19】神經網路(單層感知機)
【機器學習筆記16】拉格朗日乘子法
【機器學習筆記13】聚類(高斯混合聚類)
【機器學習筆記22】神經網路(卷積神經網路)
【機器學習筆記23】神經網路(RNN)
【機器學習筆記24】神經網路(LSTM)