做房產(chǎn)經(jīng)紀(jì)的那些網(wǎng)站可以進(jìn)客東莞網(wǎng)絡(luò)營銷推廣軟件
文章目錄
- 1. 梯度下降[線搜索方法]
- 1.1 線搜索方法,運(yùn)用一階導(dǎo)數(shù)信息
- 1.2 經(jīng)典牛頓方法,運(yùn)用二階導(dǎo)數(shù)信息
- 2. hessian矩陣和凸函數(shù)
- 2.1 實(shí)對稱矩陣函數(shù)求導(dǎo)
- 2.2. 線性函數(shù)求導(dǎo)
- 3. 無約束條件下的最值問題
- 4. 正則化
- 4.1 定義
- 4.2 性質(zhì)
- 5. 回溯線性搜索法
1. 梯度下降[線搜索方法]
我們之前經(jīng)常用到的梯度下降,
1.1 線搜索方法,運(yùn)用一階導(dǎo)數(shù)信息
- 迭代公式:
x k + 1 = x k ? s k ? f ( x k ) \begin{equation} x_{k+1}=x_k-s_k\nabla f(x_k) \end{equation} xk+1?=xk??sk??f(xk?)?? - 步長: s k s_k sk?,也叫學(xué)習(xí)率
- 方向: ? ? f ( x k ) -\nabla f(x_k) ??f(xk?)負(fù)梯度方向
1.2 經(jīng)典牛頓方法,運(yùn)用二階導(dǎo)數(shù)信息
詳細(xì)推導(dǎo)請點(diǎn)擊鏈接
- 迭代公式:
x k + 1 = x k ? [ H j k ] ? 1 ? f ( x ) \begin{equation} x_{k+1}=x_k-[H_{jk}]^{-1}\nabla f(x) \end{equation} xk+1?=xk??[Hjk?]?1?f(x)?? - 步長: s k = 1 s_k=1 sk?=1,把步長和方向結(jié)合起來放到方向里面去了。
- 方向:
hessian matrix 可逆時
[ H j k ] ? 1 ? f ( x ) [H_{jk}]^{-1}\nabla f(x) [Hjk?]?1?f(x)
2. hessian矩陣和凸函數(shù)
- 如果
hessian matrix
H j k H_{jk} Hjk?是半正定矩陣[positive semi-definite]
或正定矩陣[positive definite]
可得為函數(shù)是一般凸函數(shù)
- 如果
hessian matrix
H j k H_{jk} Hjk?是正定矩陣[positive definite]
可得為函數(shù)是強(qiáng)凸函數(shù)
2.1 實(shí)對稱矩陣函數(shù)求導(dǎo)
假設(shè)我們有一個實(shí)對稱矩陣S和二次型函數(shù)表示如下:
S = [ 1 0 0 b ] , f ( x ) = 1 2 x T S x = 1 2 ( x 2 + b y 2 ) \begin{equation} S=\begin{bmatrix}1&0\\\\0&b\end{bmatrix},f(x)=\frac{1}{2}x^TSx=\frac{1}{2}(x^2+by^2) \end{equation} S= ?10?0b? ?,f(x)=21?xTSx=21?(x2+by2)??
- 矩陣S的特征值,條件數(shù) κ ( S ) \kappa(S) κ(S)分別表示如下,假設(shè) b < 1 b<1 b<1:
λ max ? = 1 , λ min ? = b , κ ( S ) = 1 b \begin{equation} \lambda_{\max}=1,\lambda_{\min}=b,\kappa(S)=\frac{1} \end{equation} λmax?=1,λmin?=b,κ(S)=b1??? - 通過 f ( x ) f(x) f(x)函數(shù)可以明顯看出最小值點(diǎn)為(0,0)
arg?min ? x ? = 0 f ( x ) = 0 \begin{equation} \argmin \limits_{x^*=0}f(x)=0 \end{equation} x?=0argmin?f(x)=0?? - 函數(shù)一階導(dǎo)數(shù)如下:
d f ( x , y ) d X = d 1 2 X T S X d X = S X = [ 1 0 0 b ] [ x y ] = [ x b y ] \begin{equation} \frac{\mathrmvxwlu0yf4f(x,y)}{\mathrmvxwlu0yf4X}=\frac{\mathrmvxwlu0yf4\frac{1}{2}X^TSX}{\mathrmvxwlu0yf4X}=SX=\begin{bmatrix}1&0\\\\0&b\end{bmatrix}\begin{bmatrix}x\\\\y\end{bmatrix}=\begin{bmatrix}x\\\\by\end{bmatrix} \end{equation} dXdf(x,y)?=dXd21?XTSX?=SX= ?10?0b? ? ?xy? ?= ?xby? ??? - 函數(shù)二階導(dǎo)數(shù)如下:
d 2 f ( x , y ) d X 2 = S = [ 1 0 0 b ] \begin{equation} \frac{\mathrmvxwlu0yf4^2f(x,y)}{\mathrmvxwlu0yf4X^2}=S=\begin{bmatrix}1&0\\\\0&b\end{bmatrix} \end{equation} dX2d2f(x,y)?=S= ?10?0b? ???
2.2. 線性函數(shù)求導(dǎo)
假設(shè)我們有如下函數(shù):
f ( x , y ) = 2 x + 5 y = [ 2 5 ] [ x y ] = A T X , A = [ 2 5 ] \begin{equation} f(x,y)=2x+5y=\begin{bmatrix}2&5\end{bmatrix}\begin{bmatrix}x\\\\y\end{bmatrix}=A^TX,A=\begin{bmatrix}2\\\\5\end{bmatrix} \end{equation} f(x,y)=2x+5y=[2?5?] ?xy? ?=ATX,A= ?25? ???
- 函數(shù)的一次導(dǎo)數(shù)如下:
d f ( x , y ) d X = d A T X d X = A = [ 2 5 ] \begin{equation} \frac{\mathrmvxwlu0yf4f(x,y)}{\mathrmvxwlu0yf4X}=\frac{\mathrmvxwlu0yf4A^TX}{\mathrmvxwlu0yf4X}=A=\begin{bmatrix}2\\\\5\end{bmatrix} \end{equation} dXdf(x,y)?=dXdATX?=A= ?25? ??? - 函數(shù)的二階偏導(dǎo)
hessian matrix
如下:[向量對向量求導(dǎo),XY拉伸術(shù)]
H j k = [ 0 0 0 0 ] \begin{equation} H_{jk}=\begin{bmatrix}0&0\\\\0&0\end{bmatrix} \end{equation} Hjk?= ?00?00? ??? - 對于函數(shù) f ( x ) = 2 x + 5 y f(x)=2x+5y f(x)=2x+5y來說,依據(jù)線搜索方法,其負(fù)梯度方向?yàn)樽罴训较颉?/li>
3. 無約束條件下的最值問題
假設(shè)我們有一個函數(shù)表示如下:
f ( x ) = 1 2 x T S x ? a T x ? b \begin{equation} f(x)=\frac{1}{2}x^TSx-a^Tx-b \end{equation} f(x)=21?xTSx?aTx?b??
- f ( x ) f(x) f(x)導(dǎo)數(shù)如下:
d f ( x ) d x = S x ? a ; d 2 f ( x ) d x 2 = H j k = S \begin{equation} \frac{\mathrmvxwlu0yf4f(x)}{\mathrmvxwlu0yf4x}=Sx-a;\frac{\mathrmvxwlu0yf4^2f(x)}{\mathrmvxwlu0yf4x^2}=H_{jk}=S \end{equation} dxdf(x)?=Sx?a;dx2d2f(x)?=Hjk?=S?? - 函數(shù) f ( x ) f(x) f(x)的最小值滿足其一次導(dǎo)數(shù)為零,即表示如下:
f ′ ( x ? ) = 0 , S x ? ? a = 0 → x ? = S ? 1 a \begin{equation} f'(x^*)=0,Sx^*-a=0\rightarrow x^*=S^{-1}a \end{equation} f′(x?)=0,Sx??a=0→x?=S?1a?? - 整理可得:
f min ? ( x ) = min ? x = x ? = S ? 1 a f ( x ) = ? 1 2 a T S ? 1 a ? b \begin{equation} f_{\min}(x)=\min\limits_{x=x^*=S^{-1}a}f(x)=-\frac{1}{2}a^TS^{-1}a-b \end{equation} fmin?(x)=x=x?=S?1amin?f(x)=?21?aTS?1a?b??
arg?min ? x = x ? f ( x ) = S ? 1 a \begin{equation} \argmin\limits_{x=x^*}f(x)=S^{-1}a \end{equation} x=x?argmin?f(x)=S?1a??
4. 正則化
4.1 定義
- Log-determinant regularization
Log-determinant regularization 通過在損失函數(shù)中加入一個負(fù)對數(shù)行列式項(xiàng)來約束矩陣X的結(jié)構(gòu)。具體形式為
P e n a l t y = ? log ? ( det ? ( X ) ) \begin{equation} Penalty=-\log(\det(X)) \end{equation} Penalty=?log(det(X))?? - 其中X通常是一個正定矩陣, 這一正則化項(xiàng)有利于確保X的特征值遠(yuǎn)離零,從而避免數(shù)值不穩(wěn)定性和病態(tài)矩陣的出現(xiàn)
4.2 性質(zhì)
- 凸性: ? log ? ( det ? ( X ) ) -\log(\det(X)) ?log(det(X))是一個凸函數(shù),這意味著優(yōu)化問題中,局部最小值也是全局最小值
- 梯度: ? f ( x ) = ? X ? 1 \nabla f(x)=-X^{-1} ?f(x)=?X?1
f ( x ) = ? log ? ( det ? ( X ) ) → d f ( x ) d x = 1 det ? ( X ) ? [ det ? ( X ) ? ( X ? 1 ) T ] = X ? 1 \begin{equation} f(x)=-\log(\det(X))\rightarrow \frac{\mathrmvxwlu0yf4f(x)}{\mathrmvxwlu0yf4x}=\frac{1}{\det(X)}\cdot [\det(X)\cdot (X^{-1})^T]=X^{-1} \end{equation} f(x)=?log(det(X))→dxdf(x)?=det(X)1??[det(X)?(X?1)T]=X?1?? hessian matrix
:
H j k = X ? 1 H X ? 1 , H 是一個對稱矩陣 \begin{equation} H_{jk}=X^{-1}HX^{-1},H是一個對稱矩陣 \end{equation} Hjk?=X?1HX?1,H是一個對稱矩陣??
5. 回溯線性搜索法
對于線搜索方法來說,迭代公式如下,但是對于步長的選擇來說,我們?nèi)绻x擇步長 s k s_k sk?太大,那么就很容易越過極值點(diǎn),在極值點(diǎn)不斷跳躍和震蕩,如果步長 s k s_k sk?太小,那么迭代太慢,沒有效果
- 迭代公式:
x k + 1 = x k ? s k ? f ( x k ) \begin{equation} x_{k+1}=x_k-s_k\nabla f(x_k) \end{equation} xk+1?=xk??sk??f(xk?)?? - 步長: s k s_k sk?
- 方向: 負(fù)梯度方向 ? ? f ( x k ) -\nabla f(x_k) ??f(xk?)
那么我們希望找到一個步長 s k s_k sk?使得在搜索方向上使得 f ( x k + 1 ) f(x_{k+1}) f(xk+1?)最小,這樣就不是固定步長了,相當(dāng)于動態(tài)步長
s k ? = arg?min ? s k f ( x k + 1 ) \begin{equation} s_k^*= \argmin\limits_{s_k} f(x_{k+1}) \end{equation} sk??=sk?argmin?f(xk+1?)??
- 步驟:先固定步長 s k = s 0 s_k=s_0 sk?=s0?,再取半步長 s k = 1 2 s 0 s_k=\frac{1}{2}s_0 sk?=21?s0?,再取半步長 s k = 1 4 s 0 s_k=\frac{1}{4}s_0 sk?=41?s0?,
- 假設(shè)我們有如下一個損失函數(shù)如下:
S = [ 1 0 0 b ] , f ( x ) = x T S x = x 2 + b y 2 \begin{equation} S=\begin{bmatrix}1&0\\\\0&b\end{bmatrix},f(x)=x^TSx=x^2+by^2 \end{equation} S= ?10?0b? ?,f(x)=xTSx=x2+by2?? - 迭代公式如下:
x k + 1 = x k ? s k ? f ( x k ) , ? f ( x k ) = 2 S x \begin{equation} x_{k+1}=x_k-s_k\nabla f(x_k),\nabla f(x_k)=2Sx \end{equation} xk+1?=xk??sk??f(xk?),?f(xk?)=2Sx?? - 向量化如下 : x = [ x , y ] T x\;=[x\;,y\;]^T x=[x,y]T
[ x y ] k + 1 = [ x y ] k ? s k [ 2 x 2 b y ] k \begin{equation} \begin{bmatrix}x\\\\y\end{bmatrix}_{k+1}=\begin{bmatrix}x\\\\y\end{bmatrix}_{k}-s_k\begin{bmatrix}2x\\\\2by\end{bmatrix}_{k} \end{equation} ?xy? ?k+1?= ?xy? ?k??sk? ?2x2by? ?k??? - 假設(shè)我們定義初始點(diǎn) p 0 = ( x 0 , y 0 ) = ( b , 1 ) p_0=(x_0,y_0)=(b,1) p0?=(x0?,y0?)=(b,1)
- 步長 s k = 1 x 0 + y 0 = 1 b + 1 s_k=\frac{1}{x_0+y_0}=\frac{1}{b+1} sk?=x0?+y0?1?=b+11?
這里沒弄懂,后續(xù)再研究,反推出來的
x k = b ( b ? 1 b + 1 ) k , y k = ( 1 ? b 1 + b ) k , f k = ( 1 ? b 1 + b ) k f 0 \begin{equation} x_k=b(\frac{b-1}{b+1})^k,y_k=(\frac{1-b}{1+b})^k,f_k=(\frac{1-b}{1+b})^kf_0 \end{equation} xk?=b(b+1b?1?)k,yk?=(1+b1?b?)k,fk?=(1+b1?b?)kf0??? - 函數(shù) f ( x ) = x 2 + b y 2 = c f(x)=x^2+by^2=c f(x)=x2+by2=c是一個橢圓形圖像,隨著c的變化不斷變化,也就是做函數(shù)的最小值是
之字型
不斷地趨近于最小,就像不同的橢圓進(jìn)行等比縮小,最終求得最小值。