人工智能數學課高等數學線性微積分數學教程筆記


人工智能數學課高等數學線性微積分數學教程的學習筆記。主要用於快速回憶已學的數學知識點,不適合基礎學習。博客園中同步更新。

1. 數學內容概述

人工智能是應用數學,需要的數學知識包括:

  • 微積分

    • 主要內容:導數與求導公式,一階導數與函數的單調性,一元函數極值判定法則,高階導數,二階導數與函數的凹凸性,一元導數泰勒展開。
    • 主要用分部分,求函數極值,即機器學習庫中的求解器 (solver) 的功能;
    • 推薦書籍:高等數學(第七版,同濟大學數學系),數學分析新講(張築生)
    • 知識點:
      • 導數與偏導數定義與計算;
      • 梯度向量;
      • 極值定理,可導函數在極值點處導數或梯度必須爲0;
      • 雅克比矩陣,向量到向量映射函數的偏導數構成的矩陣,用於求導推導;
      • Hessian 矩陣,二階導數對多元函數的推廣,求函數極值;
      • 凸函數的定義與判斷;
      • 泰勒展開公式,多元函數泰勒展開公式,推導出梯度下降法,牛頓法,擬牛頓法等一系列最優化方法;
      • 拉格朗日乘數法,拉格朗日對偶,求解帶等式約束的極值問題。
  • 線性代數

    • 主要內容:向量及其運算,矩陣及其運算,張量,行列式,二次型,特徵值與特徵向量。
    • 推薦書籍:工程數學線性代數(同濟大學數學系)
    • 知識點:
      • 向量及其運算,包括加法,減法,數乘,轉置,內積;
      • 向量和矩陣的範數,L1L1 範數(曼哈頓距離)和 L2L2 範數(兩點間距離);
      • 矩陣及其運算,包括加法,減法乘法和數乘;
      • 逆矩陣定義和性質;
      • 行列式定義和計算;
      • 二次型定義;
      • 矩陣正定性;
      • 矩陣的特徵值 (eigenvalue) 與特徵向量 (eigenvector) ;
      • 矩陣的奇異值分解 (SVD) ;
      • 線性方程組的數值解法,尤其是共軛梯度法。
    • 數據一般都是向量、矩陣或張量。
  • 概率論

    • 主要內容:隨機事件與概率,條件概率和貝葉斯公式,隨機變量,隨機變量的期望和方差,常用概率分佈(正態分佈,均勻分佈,伯努利二項分佈),隨機向量(聯合概率密度函數等),協方差和協方差矩陣,最大似然估計。
    • 將所處理的樣本數據看作隨機變量/向量,用概率論的觀點對問題進行建模。
    • 推薦書籍:概率論與數理統計(第四版)
    • 知識點:
      • 隨機事件概念,概率定義與計算;
      • 隨機變量與概率分佈,尤其是連續性隨機變量的概率密度函數和分佈函數;
      • 條件概率與貝葉斯公式;
      • 常見概率分佈,正態分佈,均勻分佈,伯努利二項分佈;
      • 隨機變量的均值方差,協方差;
      • 隨機變量的獨立性;
      • 最大似然估計。
  • 最優化

    • 推薦書籍:凸優化(作者:Stephen Boyd, Lieven Vandenberghe著 王書寧,許鋆,黃曉霖譯),非線性規劃(第2版,作者:Dimitri P. Bertsekas 著 宋士吉、張玉利、賈慶山 譯)
    • 凸優化問題
  • 其他

    微分幾何,泛函分析和識別函數,離散數學(圖論)。

2. 一元函數微分學

- 導數

- 導數的定義

f(x0)=limΔx0f(x0+Δx)f(x0)Δx{f}'\left ( x_0 \right )= \lim\limits_{\Delta x\rightarrow 0}\frac{f( x_0+\Delta x )-f(x_0)}{\Delta x}

- 左導數、右導數和右導數

  • ReLu函數 Activation Function

max(0,x)\max(0,x)

- 幾何意義與物理意義

  • 幾何意義,切線的斜率(一元函數)
  • 物理意義,瞬時速度

f(t)=limΔt0ΔsΔtf'(t)=\lim\limits_{\Delta t\rightarrow 0}\frac {\Delta s}{\Delta t}

- 求導公式

- 基本函數

  • (xa)=axa1(x^a)'=ax^{a-1}
  • (ax)=axlna(a^x)'=a^x\ln a ; (ex)=ex(e^x)'=e^x
  • (logax)=1lna1x(log_a x)'=\frac{1}{\ln a}\frac{1}{x} ; (lnx)=1x(\ln x)'=\frac{1}{x}
  • 定義limn+(1+1n)n=e\lim\limits_{n\rightarrow+\infty}(1+\frac{1}{n})^n=e ; limx0sinxx=1\lim\limits_{x\rightarrow0}\frac{\sin x}{x}=1; limn0(1+n)1n=e\lim\limits_{n\rightarrow0}(1+n)^\frac{1}{n}=e

- 四則運算法則

  • (f(x)+g(x))=f(x)+g(x)(f(x)+g(x))'=f'(x)+g'(x)
  • (f(x)g(x))=f(x)g(x)+f(x)g(x)(f(x)g(x))'=f'(x)g(x)+f(x)g'(x)
  • (f(x)g(x))=f(x)g(x)f(x)g(x)g2(x)(\frac{f(x)}{g(x)})'=\frac{f'(x)g(x)-f(x)g'(x)}{g^2(x)}

- 複合函數求導法則

(f(g(x)))=f(g)g(x)(f(g(x)))'=f'(g)g'(x) 鏈式求導法則

- 用途

  • 求極值,backpropagation 激活函數

  • sigmoid函數σ(x)=11+ex\sigma(x)=\frac{1}{1+e^{-x}} ; σ(x)=[1σ(x)]σ(x)\sigma'(x)=[1-\sigma(x)]\sigma(x)

  • tanh (雙曲正切)函數tanh(x)=sinhxcoshx=exexex+ex\tanh(x)=\frac{\sinh x}{\cosh x}=\frac{e^x-e^{-x}}{e^x+e^{-x}}

    tanh(x)=1tanh2(x)\tanh'(x)=1-\tanh^2(x)

- 高階導數

對導數再次求導:f(n)(x)f^{(n)}(x)

- 導數與函數單調性關係

導數大於0,單調增;導數小於0,單調減。

- 極值定理

極值處函數的導數(若有)等於0,導數等於0處不一定是極值。

極值點是函數圖像的某段子區間內上極大值或者極小值點的**橫座標**。極值點出現在函數的駐點(導數爲0的點)或不可導點處(導函數不存在,也可以取得極值,此時駐點不存在)。

- 導數與函數凹凸性

:中國大陸數學界某些機構關於函數凹凸性定義和國外的定義是相反的。

國外定義中,凸函數是向下凸的(不同於我們傳統意義上的"凸")。

凹凸函數定義:

設函數 ff 爲定義在區間 II 上的函數,若對 (a,b)(a,b) 上任意兩點 x1x_1x2x_2 ,恆有:

(1) f(x1+x22)>f(x1)+f(x2)2f(\frac{x_1+x_2}{2})>\frac{f(x_1)+f(x_2)}{2},則稱 ff(a,b)(a,b) 上的凹函數或者上凸函數或者 A 型函數;

(2) f(x1+x22)<f(x1)+f(x2)2f(\frac{x_1+x_2}{2})<\frac{f(x_1)+f(x_2)}{2},則稱 ff(a,b)(a,b) 上的凸函數或者下凸函數或者 V 型函數;

  • f(x)>0f''(x)>0 二階導數大於0——凸 (convex) 函數;反之,凹 (concave) 函數
  • f(x)=0f'(x)=0 駐點;
  • f(x)=0f''(x)=0 ,若該曲線圖形的函數在拐點(連續曲線的凹弧與凸弧的分界點)有二階導數,則二階導數在拐點處異號(由正變負或由負變正)或不存在。

- 一元函數泰勒展開

多項式函數來近似一個可導函數。
f(x)=f(x0)0!+f(x0)1!(xx0)+f(x0)2!(xx0)2+...+fn(x0)n!(xx0)n+Rn(x) f(x)=\frac{f(x_0)}{0!}+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+...+\frac{f^{n}(x_0)}{n!}(x-x_0)^n + R_n(x)

f(x)=f(xk)+(xxk)f(xk)+12(xxk)2f(xk)+on f(x)=f(x_k)+(x-x_k)f'(x_k)+\frac{1}{2}(x-x_k)^2f''(x_k)+o^n

機器學習中求極值用的,梯度下降法(保留泰勒展開一階項),牛頓法(保留泰勒展開二階項)。

3. 線性代數基礎

- 向量

  • 一維數組,幾何意義是空間中的點,nn 維向量集合的全體構成了 nn 維歐式空間 RnR^n ;

  • 行向量(編程語言中把數據存爲它),列向量(數學上常用);

  • 向量運算

    • 加減:分量加減, Error=yy^Error=\boldsymbol{y}-\hat{\boldsymbol{y}}

    • 數乘:數和分量相乘,wt+1=wtαg\boldsymbol{w}^{t+1}=\boldsymbol{w}^t-\alpha \boldsymbol{g}

    • 向量的內積(點乘):XTYX^TY

      np.dot(a,b)
      
    • 運算法則:A+B+C=A+(B+C)A+B+C=A+(B+C) ; k(X+Y)=kX+kYk*(X+Y)=kX+kY

- 向量的範數

  • 範數:xp=(i=1nxip)1p\left \| \boldsymbol{x} \right \|_p=\left ( \sum\limits_{i=1}^{n}\left | x_i \right |^p \right )^\frac{1}{p}; pp 爲整數,向量變成標量;
  • 1 範數是絕對值加和,記爲 L1L1: x1=i=1nxi\left \| \boldsymbol{x} \right \|_1=\sum\limits_{i=1}^n \left | x_i \right |,曼哈頓距離;
  • 2 範數是向量長度,向量的模,記爲 L2L2: x2=i=1n(xi)2\left \| \boldsymbol{x} \right \|_2=\sqrt{\sum\limits_{i=1}^n \left ( x_i \right )^2},歐式距離;
  • 應用:L1L1 正則項:i=1nwi\sum\limits_{i=1}^n \left | w_i \right |L2L2 正則項:i=1nwi2\sum\limits_{i=1}^n \left |w_i \right |^2;正則項越小,模型容錯性越強,防止過擬合;

- 特殊向量

  • 0 向量:np.zeros(); 全 1 向量:np.ones();
  • 稀疏向量(Sparse vector);稠密向量(Dense vector);one-hot 編碼;
  • 單位向量,長度爲1;

- 矩陣

  • 二維數組,方陣,對稱矩陣:aij=ajia_{ij}=a_{ji}

  • 單位陣:np.identity()np.eye()

  • 矩陣運算:加減、數乘、轉置(a.Ta.transpose(1,0))

  • 矩陣的乘法:a*b a/b(按對應位相乘除),np.dot(a,b) 是把第一個矩陣的每一行和第二個矩陣的每一列做內積。

  • A+B+C=A+(B+C)A+B+C=A+(B+C); (AB)C=A(BC)(AB)C=A(BC); (A+B)C=AC+BC(A+B)C=AC+BC; A(B+C)=AB+ACA(B+C)=AB+AC; ABBAAB\ne BA

  • 轉置公式:(AB)T=BTAT(AB)^T=B^TA^T

- 逆矩陣

  • 假設一個矩陣 AA (方陣),有 AB=BA=IAB=BA=IB=A1B=A^{-1}
  • (AB)1=B1A1(AB)^{-1}=B^{-1}A^{-1}(A1)1=A(A^{-1})^{-1}=A(AT)1=(A1)T(A^T)^{-1}=(A^{-1})T
  • np.linalg.inv(A) (linear algebra)

- 行列式

  • 行列式把矩陣(方陣)變成一個標量。

a11a12a21a22=a11a22a12a21 \begin{vmatrix}a_{11} & a_{12} \\a_{21} & a_{22}\end{vmatrix}=a_{11}a_{22}-a_{12}a_{21}

a11a12a13a21a22a23a31a32a33=a11a22a33+a12a23a31+a13a21a32a13a22a31a12a21a33a11a23a32 \begin{vmatrix}a_{11}& a_{12} &a_{13}\\a_{21}& a_{22} &a_{23}\\ a_{31}& a_{32} &a_{33}\end{vmatrix}=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31}-a_{12}a_{21}a_{33}-a_{11}a_{23}a_{32}

  • 行列式性質AB=AB\left | AB \right |=\left | A \right |\left | B \right |A1=A1\left | A^{-1} \right |=\left | A \right |^{-1}αA=αnA\left | \alpha A \right |=\alpha ^n\left | A \right |
  • np.linalg.det(A)

4. 多元函數的微分學

- 偏導數

其他的自變量固定不動,對其中某一個變量求導數。
fxi=limΔxi0f(x1,...,xi+Δxi,...,xn)f(x1,...,xi,...,xn)Δxi \frac{\partial f}{\partial x_i}=\lim \limits_{\Delta x_i\rightarrow 0}\frac{f\left ( x_1,...,x_i+\Delta x_i,...,x_n \right )-f\left ( x_1,...,x_i,...,x_n \right )}{\Delta x_i}

from sympy import diff,symbols
x,y = symbols('x y')
f = x**2 + x*y - y**2
diff(f,x)
>>> 2*x + y

- 高階偏導數

  • 依次對每一個變量反覆求導
  • 高階導數和求導次序無關:2fxy=2fyx\frac{\partial ^2f}{\partial x\partial y}=\frac{\partial ^2f}{\partial y\partial x};
  • diff(f,x,2) = 2f2x\frac{\partial ^2f}{\partial^2 x}
  • diff(f,y).subs(y,2) = fyy=2\frac{\partial f}{\partial y}\Big |_{y=2}

- 梯度

f(x)=(fx1,fx2,,fxn)T \nabla f(\boldsymbol{x})=\left ( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2},\cdots,\frac{\partial f}{\partial x_n}\right )^T

- 雅克比矩陣

一階偏導數構成的矩陣,簡化求導公式。

一個函數 ffnn 維向量 x\boldsymbol{x} 映射爲 kk 維向量 y\boldsymbol{y}y=f(x)\boldsymbol{y}=f(\boldsymbol{x})
[y1x1y1x2y1xny2x1y2x2y2xnykx1ykx2ykxn] \begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2} & \cdots & \frac{\partial y_1}{\partial x_n}\\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2} & \cdots & \frac{\partial y_2}{\partial x_n} \\ \cdots & \cdots & \cdots & \cdots\\ \frac{\partial y_k}{\partial x_1} & \frac{\partial y_k}{\partial x_2} & \cdots & \frac{\partial y_k}{\partial x_n} \end{bmatrix}
kk 行就是 yky_kx1,x2,,xnx_1,x_2,\cdots,x_n 求偏導。

- Hessian 矩陣

  • 設有一個 nn 元函數:

[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2] \begin{bmatrix} \frac{\partial^2 f}{{\partial x_1}^2} & \frac{\partial^2 f}{\partial x_1\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\partial x_n}\\ \frac{\partial^2 f}{\partial x_2\partial x_1} & \frac{\partial^2 f}{{\partial x_2}^2} & \cdots & \frac{\partial^2 f}{\partial x_2\partial x_n} \\ \cdots & \cdots & \cdots & \cdots\\ \frac{\partial^2 f}{\partial x_n\partial x_1} & \frac{\partial^2 f}{\partial x_n\partial x_2} & \cdots & \frac{\partial^2 f}{{\partial x_n}^2} \end{bmatrix}

  • 它的所有元素是二階偏導數,Hessian 矩陣是對稱矩陣。

  • Hessian 矩陣和函數凹凸性有密切關係。Hessian 矩陣正定,函數爲凸函數,負定則爲凹函數。

- 極值判別法則

  • 一元函數:f(x)f(x) 一階導數等於0處有極值,當 f(x)f(x) 的二階導數大於0時是極小值,當二階導數小於0時是極大值,參考 x2x^2

  • 多元函數的極值判別法則:看 Hessian 矩陣在 f(x)f(\boldsymbol{x}) 的二階導數等於0處,即駐點處。

    • 若 Hessian 矩陣是正定,函數在該點有極小值;
    • 若 Hessian 矩陣是負定,函數在該點有極大值;
    • 若 Hessian 矩陣不定,則還需要看更高階導數。
  • 矩陣正定:對於任意向量 x0\boldsymbol{x}\ne \vec{0} ,都有 xTAx>0\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x}>0,則是正定矩陣,如果是 \ge,則是半正定矩陣。

  • 判斷原則:

    • 矩陣特徵值全部大於0;

    • 矩陣所有的順序主子式都大於0;

    • 矩陣合同於單位陣。

5. 線性代數高級

- 二次型

  • 純二次項構成的函數,把含有 nn 個變量的二次齊次函數稱爲二次型:

f(x1,x2,,xn)=a11x12+a22x22++annxn2+2a12x1x2+2a13x1x3++2an1,nxn1xn f\left ( x_1,x_2,\cdots,x_n \right )=a_{11}x_1^2+a_{22}x_2^2+\cdots+a_{nn}x_n^2+2a_{12}x_1x_2+2a_{13}x_1x_3+\cdots+2a_{n-1,n}x_{n-1}x_{n}

  • 它其實是向量和矩陣相乘的結果:xTAx=i=1nj=1naijxixj\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x}=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}a_{ij}x_ix_jA\boldsymbol{A} 即二次型矩陣。

(x1,,xn)[a11a12a1na21a22a2nan1an2ann](x1xn) \left ( x_1,\cdots,x_n \right )\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \cdots & \cdots & \cdots & \cdots\\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}\begin{pmatrix} x_1\\ \cdots\\ \cdots\\ x_n \end{pmatrix}

  • 機器學習中常見形式,比如是一次型:f(x;w)=wTx+bf(\boldsymbol{x};\boldsymbol{w})=\boldsymbol{w}^T\boldsymbol{x}+b,或者二次型:f(x;w)=xTwx+bf(\boldsymbol{x};\boldsymbol{w})=\boldsymbol{x}^T\boldsymbol{w}\boldsymbol{x}+b
  • 回看 Hessian 矩陣:對於二次型函數,f(x)=xTAxf(\boldsymbol{x})=\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x}
    • f(x)>0,x0,xRf(\boldsymbol{x})>0,x\ne0,x\in \mathbb{R},則 ff 爲正定二次型,AA 爲正定矩陣;
    • f(x)0,x0,xRf(\boldsymbol{x})\ge0,x\ne0,x\in \mathbb{R},則 ff 爲半正定二次型,AA 爲半正定矩陣;
    • f(x)<0,x0,xRf(\boldsymbol{x})<0,x\ne0,x\in \mathbb{R},則 ff 爲負定二次型,AA 爲負定矩陣;
    • f(x)0,x0,xRf(\boldsymbol{x})\le0,x\ne0,x\in \mathbb{R},則 ff 爲半負定二次型,AA 爲半負定矩陣;
    • 以上皆不是,不定。

- 特徵值和特徵向量

  • 矩陣與向量的乘法相當於對向量做了一個線性變換,變換後不一定和原來在一條直線上

  • A\boldsymbol{A}nn 階方陣,若存在數 λ\lambda 和非零 nn 維向量 x\boldsymbol{x},使得 Ax=λx\boldsymbol{A}\boldsymbol{x}=\lambda \boldsymbol{x} 成立,則稱 λ\lambda 是矩陣 A\boldsymbol{A} 的一個特徵值 (characteristic value) 或本徵值 (eigenvalue)。

  • Ax=λx(AλI)x=0\boldsymbol{Ax}=\lambda \boldsymbol{x} \Rightarrow \left ( \boldsymbol{A}-\lambda \boldsymbol{I }\right )\boldsymbol{x}=0,有非零解的充要條件是係數行列式 λIA=0\left | \lambda \boldsymbol{I}-\boldsymbol{A} \right |=0

  • λIA=λn+α1λn1+α2λn2++αn1λ+αn\left | \lambda \boldsymbol{I}-\boldsymbol{A} \right |=\lambda ^n+\alpha _1\lambda ^{n-1}+\alpha _2\lambda ^{n-2}+\cdots+\alpha _{n-1}\lambda+\alpha _n

  • 5 次和 5 次以上代數方程沒有求根公式,工程上計算矩陣特徵值使用 QR 算法。

  • tr(A)=i=1naii=λ1+λ2++λn=i=1nλitr(\boldsymbol{A}) = \sum\limits_{i=1}^{n}a_{ii}=\lambda _1+\lambda _2+\cdots+\lambda _n=\sum\limits_{i=1}^{n}\lambda _ii=1nλi=A\prod\limits_{i=1}^{n}\lambda _i=\left | \boldsymbol{A} \right |

  • np.linalg.eig(X)

- 特徵值分解

  • n×nn\times n 矩陣 A\boldsymbol{A}nn 個特徵值 λ1λ2λn\lambda_1\le\lambda_2\le\cdots\le\lambda_n,以及這 nn 個特徵值所對應的特徵向量 (w1w2wn)\begin{pmatrix}w_1 & w_2 & \cdots & w_n \end{pmatrix},那麼矩陣 A\boldsymbol{A} 可以用特徵分解表示:$ \boldsymbol{A}=\boldsymbol{W}\boldsymbol{\Sigma}\boldsymbol{W}^{-1}$。特徵向量可被正交單位化從而使 W\boldsymbol{W} 爲正交矩陣。

  • 定理1:設 M\boldsymbol{M}n×nn\times n 的矩陣,其特徵值爲 λ1,λ2,,λn\lambda_1,\lambda_2,\cdots,\lambda_n,特徵向量爲 V1,V2,,Vn\boldsymbol{V}_1,\boldsymbol{V}_2,\cdots,\boldsymbol{V}_n,形成線性無關集合,以每個特徵向量爲列構成矩陣 A=[V1V2Vn]\boldsymbol{A}= \begin{bmatrix}\boldsymbol{V}_1 & \boldsymbol{V}_2 & \cdots & \boldsymbol{V}_n \end{bmatrix}。矩陣 A\boldsymbol{A} 可以將矩陣 M\boldsymbol{M} 對角化,乘積矩陣 A1MA\boldsymbol{A}^{-1}\boldsymbol{M}\boldsymbol{A} 的主對角元素是矩陣 M\boldsymbol{M} 的特徵值:
    A1MA=(λ1000λ2000λn) \boldsymbol{A}^{-1}\boldsymbol{M}\boldsymbol{A}=\begin{pmatrix}\lambda_1 & 0 & \cdots & 0\\ 0 & \lambda_2 &\cdots & 0\\ \vdots & \vdots & \ddots &\vdots \\ 0 & 0 & \cdots & \lambda_n \end{pmatrix}
    反之,若存在可逆矩陣 A\boldsymbol{A} ,使 A1MA\boldsymbol{A}^{-1}\boldsymbol{M}\boldsymbol{A} 爲對角矩陣,則矩陣 A\boldsymbol{A} 的列等於矩陣 M\boldsymbol{M} 的特徵向量, A1MA\boldsymbol{A}^{-1}\boldsymbol{M}\boldsymbol{A} 的主對角元素爲矩陣 M\boldsymbol{M} 的特徵值。

  • 正交矩陣 P1=PT\boldsymbol{P}^{-1}=\boldsymbol{P}^T ,行和列相互之間是正交的。

  • 特徵分解 (Eigendecomposition),又稱譜分解 (Spectral decomposition),只有可對角化矩陣纔可以作特徵分解。一個矩陣可以拆分成一個正交陣和對角矩陣以及正交陣的逆的乘積。

- 多元函數的泰勒展開

f(x)=f(xk)+[f(xk)]T(xxk)+12(xxk)TH(xk)(xxk)+on f(\boldsymbol{x})=f(\boldsymbol{x}_k)+[\nabla f(\boldsymbol{x}_k)]^T(\boldsymbol{x}-\boldsymbol{x}_k)+\frac {1}{2}(\boldsymbol{x}-\boldsymbol{x}_k)^TH(\boldsymbol{x}_k)(\boldsymbol{x}-\boldsymbol{x}_k)+\boldsymbol{o}^n

注:f(xk)\nabla f(\boldsymbol{x}_k) 是梯度,H(xk)H(\boldsymbol{x}_k) 是 Hessian 矩陣,xTAxax2\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x }\Rightarrow ax^2

- 矩陣和向量的求導公式

  • (wTx)=w\nabla (\boldsymbol{w}^T\boldsymbol{x})=\boldsymbol{w}
  • (xTAx)=(A+AT)x\nabla (\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x})= (\boldsymbol{A}+\boldsymbol{A}^T)\boldsymbol{x}
  • 2(xTAx)=A+AT\nabla ^2 (\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x})= \boldsymbol{A}+\boldsymbol{A}^T 二階導即再對 x\boldsymbol{x} 求導。

- 奇異值分解 (SVD)

  • 可以應用於任意形狀的矩陣,區別於譜分解;
  • A=UΣVT\boldsymbol{A}=\boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T,其中 A\boldsymbol{A}m×nm\times n 的矩陣, U\boldsymbol{U}, V\boldsymbol{V} 都是正交矩陣,Σ\boldsymbol{\Sigma} 是對角陣 m×nm\times n
  • U\boldsymbol{U}AAT\boldsymbol{A}\boldsymbol{A}^T 正交化特徵向量構成的 m×mm\times m 矩陣,V\boldsymbol{V}ATA\boldsymbol{A}^T\boldsymbol{A} 正交化特徵向量構成的 n×nn\times n 矩陣;
  • Σ\boldsymbol{\Sigma}m×nm\times n 的矩陣,除了主對角線上的元素 (奇異值) 以外全部爲0, U\boldsymbol{U}, V\boldsymbol{V} 都是酉矩陣,即 UTU=I\boldsymbol{U}^T\boldsymbol{U}=\boldsymbol{I}, VTV=I\boldsymbol{V}^T\boldsymbol{V}=\boldsymbol{I}

- 求解奇異值分解

  • n×nn\times n 方陣 ATA\boldsymbol{A}^T\boldsymbol{A}nn 個特徵向量:(ATA)vi=λivi(\boldsymbol{A}^T\boldsymbol{A})\boldsymbol{v}_i=\lambda_i\boldsymbol{v}_i ,將所有特徵向量張成 n×nn\times n 的矩陣 V\boldsymbol{V} ,其中每個特徵向量叫 A\boldsymbol{A} 的右奇異向量;

  • m×mm\times m 方陣 AAT\boldsymbol{A}\boldsymbol{A}^Tmm 個特徵向量:(AAT)ui=λiui(\boldsymbol{A}\boldsymbol{A}^T)\boldsymbol{u}_i=\lambda_i\boldsymbol{u}_i ,將所有特徵向量張成 m×mm\times m 的矩陣 U\boldsymbol{U} ,其中每個特徵向量叫 A\boldsymbol{A} 的左奇異向量;

  • A=UΣVTAV=UΣVTVAV=UΣAvi=σiuiσi=Avi/ui \boldsymbol{A}=\boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T\Rightarrow \boldsymbol{A}\boldsymbol{V}=\boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T\boldsymbol{V}\Rightarrow \boldsymbol{A}\boldsymbol{V}=\boldsymbol{U}\boldsymbol{\Sigma}\Rightarrow \boldsymbol{A}\boldsymbol{v}_i=\boldsymbol{\sigma}_i\boldsymbol{u}_i\Rightarrow \boldsymbol{\sigma}_i=\boldsymbol{A}\boldsymbol{v}_i/\boldsymbol{u}_i

  • ATA=VΣ2VT,AAT=UΣ2UT \boldsymbol{A}^T\boldsymbol{A}=\boldsymbol{V}\boldsymbol{\Sigma}^2\boldsymbol{V}^T,\boldsymbol{A}\boldsymbol{A}^T=\boldsymbol{U}\boldsymbol{\Sigma}^2\boldsymbol{U}^T

    ATA\boldsymbol{A}^T\boldsymbol{A} 特徵值與奇異值:σi=λi\sigma_i=\sqrt{\lambda_i}

- 奇異值分解的性質

  • 奇異值矩陣中按照從大到小排列,且減少得特別快,即可以用最大的 kk 個奇異值和對應的左右奇異向量來近似描述矩陣:

    Am×n=Um×mΣm×nVn×nTUm×kΣk×kVn×kT\boldsymbol{A}_{m\times n}=\boldsymbol{U}_{m\times m}\boldsymbol{\Sigma}_{m\times n}\boldsymbol{V}_{n\times n}^T\approx \boldsymbol{U}_{m\times k}\boldsymbol{\Sigma}_{k\times k}\boldsymbol{V}_{n\times k}^T

    大的矩陣用三個小矩陣近似描述;

  • Σ\boldsymbol{\Sigma} 中有 kk 個非0值:σ1σ2σk>0\sigma_1\ge \sigma_2\ge\cdots\ge\sigma_k>0,則此時乘回去即是 A\boldsymbol{A}

- SVD 的應用

- 數據壓縮

import numpy as np
u, sigma, v = np.linalg.svd(arr)
new_arr = np.mat(u[:,0:2])*np.mat(np.diag(sigma[0:2]))*np.mat(v[0:2,:])
np.rint(new_arr)

- PCA 降維

  • PCA (principal components analysis) 主成分分析

  • 總體方差:σ2=(Xμ)2N\sigma^2=\frac{\sum(X-\mu)^2}N,樣本方差:s2=(XXˉ)n1s^2=\frac{\sum (X-\bar{X})}{n-1}

    D(X)=E[(XE(X))2]=E(X2)[E(X)]2D(X)=E[(X-E(X))^2]=E(X^2)-[E(X)]^2

    D(X±Y)=D(X)+D(Y)±2Cov(X,Y)D(X\pm Y)=D(X)+D(Y)\pm2Cov(X,Y)Cov(X,Y)=E{[XE(X)][YE(Y)]}Cov(X,Y)=E\{[X-E(X)][Y-E(Y)]\}

  • 左奇異向量壓縮行,右奇異向量壓縮列,即取奇異值較大的左奇異向量或右奇異向量與原數據相乘。

- 協調過濾

  • 用戶推薦
  • 用 SVD 分解把樣本映射到低維空間

- 矩陣求逆

  • 奇異值求倒數:A=UΣVTA1=VΣ1UT\boldsymbol{A}=\boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T\Rightarrow \boldsymbol{A}^{-1}=\boldsymbol{V}\boldsymbol{\Sigma}^{-1}\boldsymbol{U}^T

6. 概率論

- 基本概念

  • 用概率論建模,假設它服從某種概率分佈

  • 隨機事件 (必然事件,不可能事件) 和隨機事件概率

  • 隨機事件獨立:p(ba)=p(b)p(b|a)=p(b) , p(a,b)=p(a)p(b)p(a,b)=p(a)p(b), p(a1,,an)=i=1np(ai)p(a_1,\cdots,a_n)=\prod\limits_{i=1}^{n}p(a_i)

  • 隨機變量:(1) 離散;(2) 連續,概率密度函數 f(x)0,+f(x)dx=1f(x)\ge0,\int_{-\infty}^{+\infty}f(x)dx=1

    F(y)=p(xy)=yf(x)dx,x1x2f(x)dx=F(x2)F(x1)F(y)=p(x\le y)=\int_{-\infty}^{y}f(x)dx,\int_{x_1}^{x_2}f(x)dx=F(x_2)-F(x_1)

- 條件概率和貝葉斯公式

  • 對於兩個隨機事件 aabb ,在 aa 發生的情況下 bb 發生的概率爲 p(ba)=p(a,b)p(a)p(b|a)=\frac{p(a,b)}{p(a)}

  • 貝葉斯公式p(ab)=p(a)p(ba)p(b)p(a|b)=\frac{p(a)p(b|a)}{p(b)}aa 爲因,bb 是果,知道原因後結果發生的概率是先驗概率,貝葉斯公式得到的是後驗概率。

    p(b)p(ab)=p(a,b)=p(a)p(ba)p(b)p(a|b)=p(a,b)=p(a)p(b|a)

  • 最大化後驗概率 MAP

- 數學期望和方差

  • 數學期望就是概率意義的平均值

    E(x)=xip(xi),E(x)=+xf(x)dxE(x)=\sum x_ip(x_i),E(x)=\int_{-\infty}^{+\infty}xf(x)dx

  • 方差反應數據的波動程度

    D(x)=(xiE(x))2p(xi)D(x)=\sum (x_i-E(x))^2p(x_i)

    D(x)=+(xE(x))2f(x)dxD(x)=\int_{-\infty}^{+\infty} (x-E(x))^2f(x)dx

  • 有關性質

    E(a+bX)=a+bEXE(a+bX)=a+bEX

    VarX=E(Xμ)2=E(X2)(E(X))2VarX=E(X-\mu)^2=E(X^2)-(E(X))^2

- 常用分佈

  • 正態分佈:σ\sigma 越大越矮胖
    f(x)=12πσe(xμ)22σ2 f(x)=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^2}{2\sigma ^2}}

  • 均勻分佈:
    f(x)={1baaxb0x<a,x>b f(x)=\left\{\begin{matrix} \frac{1}{b-a}\quad a\le x\le b\\ 0\quad x<a,x>b \end{matrix}\right.

  • 二項分佈
    p(x=1)=p,p(x=0)=1p p(x=1)=p,p(x=0)=1-p

- 隨機向量

  • 隨機變量推廣至隨機向量

  • 離散型:p(x=xi)p(\boldsymbol{x}=\boldsymbol{x}_i) 向量取值爲某一向量

  • 連續型:f(x)0,f(x)dx=1f(\boldsymbol{x})\ge 0, \iiint f(\boldsymbol{x})d\boldsymbol{x}=1,二維時:f(x1,x2)0,f(x)0,+f(x1,x2)dx1dx2=1f(x_1,x_2)\ge 0, f(x)\ge0,\int_{-\infty}^{+\infty}f(x_1,x_2)dx_1dx_2=1

  • 隨機變量的獨立性:f(x1,x2,,xn)=f(x1)f(x2)f(xn)f(x_1,x_2,\cdots,x_n)=f(x_1)f(x_2)\cdots f(x_n)

  • 隨機向量的常見分佈:正態分佈
    f(x)=1(2π)n2Σ12e12(xμ)TΣ1(xμ) ,xRn f(x)=\frac{1}{(2\pi)^{n\over 2}\left | \Sigma \right |^{1\over 2}}e^{-\frac{1}{2}(x-\mu)^T\Sigma ^{-1}(x-\mu)}\ ,x\in \mathbb{R}^n
    Σ\Sigma 是協方差矩陣。

- 協方差

  • 對於兩個隨機變量:
    cov(x1,x2)=E((x1E(x1))(x2E(x2)))cov(x1,x2)=E(x1x2)E(x1)E(x2) cov(x_1,x_2)=E((x_1-E(x_1))(x_2-E(x_2)))\\ cov(x_1,x_2)=E(x_1x_2)-E(x_1)E(x_2)

  • 協方差矩陣
    [x1x1x1x2x1xnx2x1x2xnxnx1xnxn] \begin{bmatrix} x_1x_1 & x_1x_2 & \cdots & x_1x_n\\ x_2x_1 & \ddots & \cdots & x_2x_n\\ \vdots & \vdots & \ddots & \vdots \\ x_nx_1 & \cdots & \cdots & x_nx_n \end{bmatrix}

- 最大似然估計

  • 最大似然估計(maximum likelihood estimation, MLE),估計參數;
  • 總似然:L(θ)=i=1lp(xi;θ)L(\theta )= \prod\limits_{i=1}^{l}p(x_i;\theta )
  • 對數總似然:lnL(θ)=lni=1lp(xi;θ)=i=1llnp(xi;θ)\ln L(\theta )= \ln\prod\limits_{i=1}^{l}p(x_i;\theta )=\sum\limits_{i=1}^{l}\ln p(x_i;\theta )
  • maxi=1llnp(xi;θ)\max \sum\limits_{i=1}^{l}\ln p(x_i;\theta ),對 θ\theta 求導讓它對於0

7. 最優化

- 基本概念

  • f(x)f(x) 的極大值或極小值,xx 是優化變量,就是自變量,f(x)f(x) 是目標函數,可能帶有約束條件,滿足約束並在定義域內的集合叫可行域;
    maxf(x)minf(x)gi(x)=0,i=1,,mhj(x)0j=1,,n \max f(x) \Leftrightarrow\min f(x)\\ g_i(x)=0,\quad i=1,\cdots,m\\ h_j(x)\le 0\quad j=1,\cdots,n

  • 局部極小值:任意在 x0x_0 的領域存在,f(x)f(x0),xδ(x0)f(x)\ge f(x_0), \forall x\in \delta (x_0)

  • 通過大量實踐發現在高維度的優化問題中,局部極小值 (local minimum)和全局極小值沒有太大的區別,甚至有時候有更好的泛化能力。

  • 爲什麼要迭代求解?(求導困難,求根困難),(初始值,逼近)

- 梯度下降法

xk+1=xkγf(xk) \boldsymbol{x}_{k+1}=\boldsymbol{x}_k-\gamma \nabla f(\boldsymbol{x}_k)

推導:

  1. 利用多元函數的泰勒展開公式:f(x)f(x0)[f(x0)]T(xx0)f(\boldsymbol{x})-f(\boldsymbol{x}_0)\approx[\nabla f(\boldsymbol{x}_0)]^T(\boldsymbol{x}-\boldsymbol{x}_0)
  2. XTY=XYcosθX^TY=|X|\cdot|Y|\cdot\cos\thetacosθ=1\cos\theta=-1 下降幅度最大
  3. 爲了使得下降幅度最大,向量 xx0\boldsymbol{x}-\boldsymbol{x}_0 (不一定是單位向量) 的方向和梯度方向相反:v=f(x0)f(x0)\boldsymbol{v}=-\frac{\nabla f(\boldsymbol{x}_0)}{\left \| \nabla f(\boldsymbol{x}_0) \right \|}
  4. x=x0ηf(x0)f(x0)\boldsymbol{x}=\boldsymbol{x}_0-\eta\frac{\nabla f(\boldsymbol{x}_0)}{\left \| \nabla f(\boldsymbol{x}_0) \right \|},分母是標量可併入 η\eta,即 x=x0ηf(x0)\boldsymbol{x}=\boldsymbol{x}_0-\eta\nabla f(\boldsymbol{x}_0)

η\eta 是步長,不能太大,否則不滿足約等於條件。

- 牛頓法

xk+1=xHk1gk \boldsymbol{x}_{k+1}=\boldsymbol{x}-\boldsymbol{H}_k^{-1}\boldsymbol{g}_k

思想:找梯度爲0的點。

推導:

  1. 多元函數的泰勒展開公式展開二次以上的項
    f(x)=f(x0)+[f(x0)]T(xx0)+12(xx0)TH(x0)(xx0)+o(xx0) f(\boldsymbol{x})=f(\boldsymbol{x}_0)+[\nabla f(\boldsymbol{x}_0)]^T(\boldsymbol{x}-\boldsymbol{x}_0)+\frac {1}{2}(\boldsymbol{x}-\boldsymbol{x}_0)^TH(\boldsymbol{x}_0)(\boldsymbol{x}-\boldsymbol{x}_0)+\boldsymbol{o}(\boldsymbol{x}-\boldsymbol{x}_0)
    取近似
    f(x)f(x0)+[f(x0)]T(xx0)+12(xx0)TH(x0)(xx0) f(\boldsymbol{x})\approx f(\boldsymbol{x}_0)+[\nabla f(\boldsymbol{x}_0)]^T(\boldsymbol{x}-\boldsymbol{x}_0)+\frac {1}{2}(\boldsymbol{x}-\boldsymbol{x}_0)^TH(\boldsymbol{x}_0)(\boldsymbol{x}-\boldsymbol{x}_0)

  2. 由於 (wTx)=w(\boldsymbol{w}^T\boldsymbol{x})'=\boldsymbol{w}(xTAx)=(A+AT)x(\boldsymbol{x}^T\boldsymbol{A}\boldsymbol{x})'= (\boldsymbol{A}+\boldsymbol{A}^T)\boldsymbol{x},故有:
    f(x)f(x0)+H(x0)(xx0)=g+H(xx0) \nabla f(\boldsymbol{x})\approx \nabla f(\boldsymbol{x}_0)+H(\boldsymbol{x}_0)(\boldsymbol{x}-\boldsymbol{x}_0)=\boldsymbol{g}+\boldsymbol{H}(\boldsymbol{x}-\boldsymbol{x}_0)

  3. f(x)=0\nabla f(\boldsymbol{x})=0,如果 Hessian 矩陣可逆,則有
    g+H(xx0)=0xx0=H1g \boldsymbol{g}+\boldsymbol{H}(\boldsymbol{x}-\boldsymbol{x}_0)=0\\ \Rightarrow \boldsymbol{x}-\boldsymbol{x}_0=-\boldsymbol{H}^{-1}\boldsymbol{g}

對比:
xk+1=xkηgkxk+1=xkηHk1gk \boldsymbol{x}_{k+1}=\boldsymbol{x}_k-\eta\cdot\boldsymbol{g}_k\\ \boldsymbol{x}_{k+1}=\boldsymbol{x}_k-\eta\cdot\boldsymbol{H}^{-1}_k\cdot\boldsymbol{g}_k

  • 牛頓法步長設定不好就有可能不收斂,不是迭代就一定使得函數值下降,一般用 line search 的技術,選擇一些值如 104,10610^{-4},10^{-6},看哪個步長使得 f(xk+1)f(\boldsymbol{x}_{k+1}) 更小。

  • 牛頓法收斂更快。

- 座標下降法

  • 分治 (分而治之) 法的思想:保持其他不動,只優化其中一個,優化完了之後再回來重新優化。
  • 計算量小

- 數值優化算法面臨的問題

  • 駐點不一定是極值點
  • 局部極值問題;
  • 鞍點問題,如 x3x^3,在這一點 Hessian 矩陣不定,

- 凸優化問題

前面數值優化面臨兩個問題,對這類問題進行限定:

  1. 優化變量的可行域必須是凸集;
  2. 優化函數必須是個凸函數。

同時滿足這兩個條件的叫凸優化問題,才能說局部極小值就是全局極小值。

- 凸集

  • 定義:對於一個點的集合 CC,有屬於它的兩個點 x,yx,y,它們兩點連線中任意一點也屬於該集合:θx+(1θ)yC,0θ1\theta x+(1-\theta)y\in C,0\le\theta\le1
  • 典型的凸集:
    • 歐式空間 Rn\mathbb{R}^nx,yRnθx+(1θ)yRn\boldsymbol{x},\boldsymbol{y} \in \mathbb{R}^n\Rightarrow \theta \boldsymbol{x} +(1-\theta)\boldsymbol{y}\in \mathbb{R}^n;很多可行域就是歐式空間,即凸集;
    • 仿射子空間:{xRn:Ax=b}\left \{ \boldsymbol{x}\in\mathbb{R}^n:\boldsymbol{A}\boldsymbol{x}=\boldsymbol{b} \right \}x\boldsymbol{x}nn 維歐式空間的向量,滿足線性方程的解;所有等式約束構成的集合是凸集,不會構建非線性等式約束;
    • 多面體:{xRn:Axb}\left \{ \boldsymbol{x}\in\mathbb{R}^n:\boldsymbol{A}\boldsymbol{x}\le\boldsymbol{b} \right \},線性不等式的解;一組線性不等式約束,也是凸集。
  • 凸集的交集也是凸集 i=1kCi\bigcap\limits_{i=1}^{k}C_i,並集不一定是凸集。

- 凸函數

  • 定義:函數上任意兩點它們的連線 (即割線) 上的值比對應的函數上的值要大,f(θx+(1θ)y)<θf(x)+(1θ)f(y)f(\theta x+(1-\theta )y)<\theta f(x)+(1-\theta )f(y)
  • 凸函數的證明:
    1. 利用定義
    2. 利用一階導數:
      • 一元函數:f(y)f(x)+f(x)(yx)f(y)\ge f(x)+f'(x)(y-x)
      • 多元函數:f(y)f(x)+f(x)T(yx)f(\boldsymbol{y})\ge f(\boldsymbol{x})+\nabla f(\boldsymbol{x})^T(\boldsymbol{y}-\boldsymbol{x})
    3. 二階判別法:
      • 一元函數:f(x)0f''(x)\ge 0
      • 多元函數:Hessian 矩陣半正定,>0>0 是嚴格凸函數
  • 如果每個函數 fi(x)f_i(x) 都是凸函數,那麼它們的非負線性組合 f(x)=i=1kwifi(x),wi0f(x)=\sum\limits_{i=1}^{k}w_if_i(x),w_i\ge 0 也是凸函數。

- 凸優化的性質

目標函數是凸函數,可行域是凸集,則局部最優解一定是全局最優解。

證明:(反證法)

假設有一點 xx 是局部最小值,但不是全局最小值,則存在另一個點 yy 是全局最小值,這時 f(y)<f(x)f(y)<f(x)

證明 xx 的領域有一個點 zzxx 小即可,取 z=θy+(1θ)x,θ=δ2xy2z=\theta y+(1-\theta)x,\theta=\frac{\delta}{2\|x-y\|_2} 即可。

- 凸優化一般的表述形式

minf(x),xC \min f(x),x\in C

或者
minf(x)ci(x)0,i=1,,mhj(x)=0,j=1,,k \min f(x)\\ c_i(x)\le0,i=1,\cdots,m\\ h_j(x)=0,j=1,\cdots,k

- 拉格朗日乘數法

將一個有n 個變量與k 個約束條件的最優化問題轉換爲一個有n + k個變量的方程組的極值問題,其變量不受任何約束;

(1) 等式約束條件
minf(x)s.t.hk(x)=0k=1,2,,l \min f(\boldsymbol{x})\\ s.t.\quad h_k(\boldsymbol{x})=0 \quad k=1,2,\cdots,l
求解步驟:

  1. 定義拉格朗日函數:
    F(x,λ)=f(x)+k=1lλkhk(x) F(\boldsymbol{x},\boldsymbol{\lambda})=f(\boldsymbol{x})+\sum\limits_{k=1}^l\lambda_kh_k(\boldsymbol{x})

  2. 解變量的偏導方程:
    Fxi=0,,Fλk=0, \frac{\partial F}{\partial x_i}=0,\cdots,\frac{\partial F}{\partial \lambda _k}=0,\cdots

  3. 或者說是分別對 x\boldsymbol{x}λ\boldsymbol{\lambda} 求梯度,然後解方程組
    xf+k=1lλkxhk=0hk(x)=0 \nabla_xf+\sum\limits_{k=1}^l\lambda_k\nabla_xh_k=0\\ h_k(\boldsymbol{x})=0

(2) 帶不等式約束條件

可參考KKT條件。

- 拉格朗日對偶

minf(x)gi(x)0,i=1,,mhj(x)=0,j=1,,k \min f(x)\\ g_i(x)\le0,i=1,\cdots,m\\ h_j(x)=0,j=1,\cdots,k

構建一個廣義 (包括不等式約束) 的拉格朗日函數:
L(x,α,β)=f(x)+i=1mαigi(x)+j=1kβihj(x),αi0 L(x,\alpha,\beta)=f(x)+\sum\limits_{i=1}^m\alpha_ig_i(x)+\sum\limits_{j=1}^k\beta_ih_j(x),\alpha_i\ge 0
問題轉化爲:
p=minxmaxα,β,αi0L(x,α,β)=minxθp(x) p^*=\min_x \max_{\alpha,\beta,\alpha_i\ge 0}L(x,\alpha,\beta)=\min_x\theta_p(x)
理解可參考:【數學】拉格朗日對偶,從0到完全理解

無論如何,pp^* 都不會小於 maxα,β,αi0L(x,α,β)\max\limits_{\alpha,\beta,\alpha_i\ge 0}L(x,\alpha,\beta)

- KKT 條件

minf(x)gi(x)0,i=1,,qhj(x)=0,j=1,,p \min f(x)\\ g_i(x)\le0,i=1,\cdots,q\\ h_j(x)=0,j=1,\cdots,p

L(x,λ,μ)=f(x)+j=1pλjhj(x)+i=1qμigi(x) L(x,\lambda,\mu)=f(x)+\sum\limits_{j=1}^p\lambda_jh_j(x)+\sum\limits_{i=1}^q\mu_ig_i(x)

KKT 條件:
xL(x)=f(x)+j=1pλihj(x)+i=1qμigi(x)=0μi0μigi(x)=0hj(x)=0gi(x)0 \nabla_x L(x^*)=\nabla f(x^*) +\sum\limits_{j=1}^p\lambda_i^*\nabla h_j(x^*)+\sum\limits_{i=1}^q\mu_i^*\nabla g_i(x^*)=0\\ \mu_i^*\ge0\\ \mu_i^*g_i(x^*)=0\\ h_j(x^*)=0\\ g_i(x^*)\le0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章