機械学習理論と前提知識の概要

目次

1. ラグランジュ関数

1. 等価制約付き最適化 (例: llp)

1.1 合計なし

1.2 有求和

2. 不等式制約の最適化 (例: svm)

3. 制約なし (例: ls)

2.標準

1. F ノルム

2.l2 ノルム

3.l1 ノルム

4.l2,1 ノルム

3. 部分ガイド

1. 勾配降下法

2. トレースの共通の定義とプロパティ

4.クロネッカー積


概要

このブログは、機械学習の理論学習や最適化問題の導出に必要なさまざまな予備知識を記録するために使用されます。


1. ラグランジュ関数

最適化問題では、最適化問題と手法の制約が得られた後、対応するラグランジュ関数が必要になり、解決されることがよくあります。以下は、いくつかの一般的な状況におけるラグランジュ関数の構築方法です。

1. 等価制約付き最適化 (例: llp)

1.1 合計なし

\large \min _{\mathbf{a}} \mathbf{a}^{T} \mathbf{S a}, \quad \text { st } \mathbf{a}^{T} \mathbf{a}= 1

ラグランジュ関数を次のように定義します。

\large L(\mathbf{a}, \lambda)=\mathbf{a}^{T} \mathbf{S a}+\lambda\left(1-\mathbf{a}^{T}\mathbf{a }\右)

対応する未知数の偏導関数を求めます (ここでは α)

\large \mathbf{S a}=\lambda \mathbf{a}

次に、上の式に固有分解を使用して、元の最適化問題を解きます。

1.2 有求和

2. 不等式制約の最適化 (例: svm)

\large \begin{array}{l} \min _{\mathbf{u}} f_{0}(\mathbf{u}) \\ \text { st } f_{i}(\mathbf{u}) \ leq 0、i=1.2、\cdots、n \end{配列}

ラグランジュ関数を次のように定義します。

\large L(\mathbf{u}, \boldsymbol{\alpha})=f_{0}(\mathbf{u})+\sum_{i=1}^{n} \alpha_{i} f_{i} (\mathbf{u})

対応する未知数の偏導関数を求め、それを 0 に設定します。

3. 制約なし (例: ls)

これは、未知数を解いて偏導関数を求め、それを 0 とするという要件に直接対応します。

2.標準

1. F ノルム

F ノルムは行列ノルムです。A が mxn 行列であると仮定すると、対応する F ノルムは次のように定義されます。

\large \|A\|_{F}=\sqrt{\オペレーター名{tr}\left(A^{T} A\right)}=\sqrt{\sum_{i, j} a_{ij}^{ 2}}

2.l2 ノルム

l2 ノルムはユークリッド距離であり、「誤差」の測定によく使用されます。次のように定義されます。

\large \|x\|_{2}=\left(\left|\boldsymbol{x}_{1}\right|^{2}+\left|\boldsymbol{x}_{2}\right| ^{2}+\cdots+\left|\boldsymbol{x}_{\boldsymbol{n}}\right|^{2}\right)^{1 / 2}

行列の場合、l2 ノルムは次のように定義されます。

\large \|A\|_{2}=\sqrt{\lambda_{\max }\left(A^{T} A\right)}

ヒント: パラメーターは、対応する最大固有値の絶対値です。

3.l1 ノルム

l1 ノルムは絶対値の合計であり、次のように定義されます。

\large \|X\|_{1}=\left(\left|x_{1}\right|+\left|x_{2}\right|+\ldots+\left|x_{n}\right|\右)

4.l2,1 ノルム

l2,1 ノルムは、まず列ごとに l2 ノルムを見つけ、次に行ごとに l1 ノルムを見つけます。これは次のように定義されます。

\large \|W\|_{2,1}=\|w\|_{1}=\sum_{i=1}^{d} \sqrt{\sum_{j=1}^{n}\左|W_{i, j}\右|^{2}}

対応する D 行列 l2、1 ノルムを定義すると、次のように書き換えることができます。

\large \|W\|_{2,1}=tr\left ( P^TDP \right )

ここで、D は対角行列で、対角は 1/行の 2 ノルムの 2 乗です。

3. 部分ガイド

一般的に使用される行列のトレースの偏導関数は次のとおりです。

\large \frac{\partial \operatorname{tr}\left(A^{T} X\right)}{\partial x_{ij}}=\frac{\partial \operatorname{tr}\left(X^{ T} A\right)}{\partial x_{ij}}=a_{ij}=[A]_{ij}

\large \frac{\partial \operatorname{tr}\left(X^{T} AX\right)}{\partial x_{ij}}=\sum_{q=1}^{m} a_{iq} x_ {qj}+\sum_{p=1}^{m} a_{pi} x_{pj}=\left[A X+A^{T} X\right]_{ij}

詳しくは、行列のフロベニウスノルムとトレース(trace)の関係とその偏導関数ルール_Love lifeのブログをご参照ください。

概要と詳細な説明: 行列のトレースとそのトレースによる行列の導出

1. 勾配降下法

勾配降下法は反復や最適化によく使用され、計算式は次のように単純に対応する偏導関数を求めるものとして理解できます。

勾配降下法の目的は、損失関数 L の値が継続的に減少するように、重みパラメータ w を継続的に更新することです。 

2. トレースの共通の定義とプロパティ

1.tr( AB ) = tr( BA )

2.tr( A ) = tr( A^ T)

3.tr( A + B ) = tr( A ) + tr( B )

4.tr( rA ) =  r  tr( A ) = tr(rA * I) (i は単位行列)

4.クロネッカー積

クロネッカー積は、任意のサイズの 2 つの行列間の演算であり、結果は で示される行列になりますクロネッカー積は、次のようなテンソル積の特殊な形式です。

おすすめ

転載: blog.csdn.net/weixin_51426083/article/details/125156679