線形モデルを使用した機械学習 第 3 章

線形モデル


序文

1.基本形

スイカの問題を例に挙げると、スイカの属性に応じて良いか悪いかを判断します。
f(a スイカ) = w
1スイカ属性 1 + w 2スイカ属性 2 +...+ w dスイカ属性d、良いメロンか悪いメロン = 0.2 色 + 0.5 根幹 +... + 0.1 ストライプ予測関数を作成するための属性の線形結合
  。( d 属性を持つサンプルの場合、線形モデルは線形関数と同じように y=ax+b のような式を取得することを望んでいますが、この時点では x は複数の属性であり、ベクトルとみなすことができます)

f(x)= w 1 x 1 + w 2 x 2 + … + w d x d + b

  通常はベクトル形式で記述されます

f(x) = w T x + b

2. 線形回帰

  線形回帰: 実数値の出力トークンをできるだけ正確に予測するための線形モデルの学習を試みます。(サンプル x の真の値 y を予測する一次関数を学習したいと思っています)

  データセット D={(x 1 , y 1 ), (x 2 , y 2 ), ..., (x m , y m )} の場合、x i = (x i1 ; x i2 ; ...; x id )、y​​ i ∈ Rとなります。サンプル x には属性が 1 つだけあると仮定します (議論のために)、線形回帰は学習を試みます

f(x i ) = wx i +b、f(x i )≈y iとなる

  線形回帰の場合、決定する必要がある 2 つのパラメーター w と b があります。回帰タスクで一般的に使用されるパフォーマンス測定は平均二乗誤差です。平均二乗誤差を最小化することで w と b を取得します
  平均二乗誤差はユークリッド距離に対応します (ユークリッド距離と呼ばれます。式の詳細についてはユークリッド距離を参照してください)。平均二乗誤差の最小化に基づいてモデルを解く方法は、「最小二乗法」と呼ばれます。線形回帰では、最小二乗和により、Zengfa はすべてのサンプルから直線までのユークリッド距離の合計を最小化する直線を見つけようとしています。
  平均二乗誤差E ( w , b ) = ∑ i = 1 n ( yi − wxi − b ) 2 E_(w, b)=\sum_{i=1}^{n}(y_i - wx_i - b)^2 となるように w と b を解きます。Ew b =i = 1( y私はw ×私はb 2線形回帰モデルの最小二乗「パラメータ推定」として知られる最小化のプロセス。E ( w , b ) E_(w,b)を入れますE(b)分别对w和b求导,得到
∂ E ( w , b ) ∂ w = 2 ( ∑ i = 1 m ( y i − w x i − b ) ⋅ ( − x i ) ) = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{∂E_(w,b)}{∂w} = 2( \sum_{i=1}^{m}(y_i -wx_i - b) ·(-x_i)) = 2(w\sum_{i=1}^{m}x_i^2 - \sum_{i=1}^{m}(y_i - b)x_i) ∂w _∂E _(w b )=2 i = 1メートル( y私はw ×私はb バツ私は=2 wi = 1メートルバツ2i = 1メートル( y私はb ×私は)
∂ E ( w , b ) ∂ b = 2 ( ∑ i = 1 m ( yi − wxi − b ) ⋅ ( − 1 ) ) = 2 ( mb − ∑ i = 1 m ( yi − wxi ) ) \frac{∂E_(w,b)}{∂b} = 2( \sum_{i=1}^{m }(y_i -wx_i - b) ·(-1) ) = 2(mb - \sum_{i=1}^{m}(y_i - wx_i))∂b _∂E _(w b )=2 i = 1メートル( y私はw ×私はb 1 =2 mb)i = 1メートル( y私はw ×私は

上記の偏導関数 = 0 として、w と b を求める次の式を取得します。
ここに画像の説明を挿入


  上記の説明では、サンプルには属性が 1 つだけあり、対応する属性には w 係数が 1 つだけあるということになります。ただし、x が多変量属性であることはよくあり、属性記述は d 個あり、このとき対応する ws は d 個存在します。

f(x i ) = w T x i +b、f(x i )≈y i となります   。これは重線形回帰と呼ばれます。

  同様に、w と b は最小二乗法を使用して推定されます。説明の便宜上、w と b はベクトル形式で記述されます。w ^ \widehat {w}w =(w;b)、対応して、データセット d をサイズ mx (d + 1) の行列 X として表します。ここで、各行はサンプル (例) に対応し、各行の最初の d 要素は例の d 属性値に対応し、最後の要素は常に 1 です。次に、次の図に示すように、ラベルをベクトル形式 y=(y 1 ;y 2 ;…;y m ) として書き込み、同様に w ^ ここに画像の説明を挿入
  \ widehat { w }   解きます
w 、平均二乗誤差の式に従って、E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\widehat {w}} = (y - X{\widehat {w}})^T(y - X{\widehat {w}}) とします。Ew =( yバツw )T (yバツw ),对w ^ \widehat {w}w 偏導関数を求めて、
              ∂ E w ^ ∂ w ^ = 2 XT ( X w ^ − y ) \frac{∂E_{\widehat {w}}}{∂\widehat {w}} = 2 X^T(X{\widehat {w}} - y) を取得します。w ∂E _w =2X _T (Xw y )

  単純に、XTXX^TXの場合バツTXフルランク行列または正定行列の場合、上記の偏導関数を 0 とすると、w ^ \widehat {w}w 極値w ^ \widehat {w}w *,のため
              w ^ ∗ = ( XTX ) − 1 XT y \widehat {w}* = (X^TX)^{-1}X^Tyw =×TX_1 ×T y
  ここで( XTX ) − 1 (X^TX)^{-1}×TX_1は行列XTXX^TXバツTXの逆行列、x ^ i = ( xi ; 1 ) \widehat {x}_i = (x_i;1)バツ 私は=( ×私は;1 )の場合、最終的に学習された重線形回帰モデルは次のようになります。
              f ( x ^ i ) = x ^ i T ( XTX ) − 1 XT yf(\widehat {x}_i) = \widehat {x}_i^T(X^TX)^{-1}X^Tyf (バツ 私は)=バツ T×TX_1 ×T y
上の式は非常に煩雑に見えますが、ここでは元の式に戻しており、理解しやすいです。
ここに画像の説明を挿入


一般化線形モデル:
  まず、線形回帰モデルは y = wTx + b と略されます。
  そのため、単調微分可能な関数 g ( )、つまり g (y) = w T x + b があると仮定すると、モデルの予測値は y の微分関数に近づきます(この時点では、形式的にはまだ線形回帰ですが、本質的には入力空間 x から出力空間 y への非線形マッピングです。)形式を変換すると、 y = g − 1 ( w T x + b ) y = g^{-1}(w^Tx + b) が得られます
  。  y=g1 (wT ×+b )
  このようなモデルは一般化線形モデルと呼ばれ、関数 g(・) は「接続関数」と呼ばれます。

対数線形回帰:
  g( ) = ln( ) の場合の一般化線形回帰の特殊なケースです。形式は次のとおりです。
        lny = w T x + b lny = w^Tx + bいいえ_ _=wT ×+b

3. 対数確率回帰

1. アプリケーションの背景:

  前の説明は回帰学習に線形モデルを使用することについて説明しましたが、分類タスクを実行するには、前のセクションの一般化線形モデルに接触し、分類タスクの実ラベル y を線形回帰モデルの予測値と接続する単調微分可能関数を見つける必要があります。バイナリ分類タスクの場合、出力ラベル y∈{0,1} にはどちらか一方の 2 つの値しかありませんが、線形回帰モデルの予測値 (z=wTx +b) は実数値です。実数値を 0 または 1 の値に変換する必要があります。理想的には単位ステップ関数です。以下の図に示すように、赤色はステップ関数です。図から、単位ステップ関数は不連続であり、一般化線形モデルのg − 1 ( ⋅ ) g^{-1}(・​​)
ここに画像の説明を挿入
  として直接使用できないことがわかります。g1)関数を使用する場合, 単位ステップ関数をある程度近似できる単調微分可能な「置換関数」を見つけたいと考えています. 対数確率関数はそのような一般的に使用される置換関数です: y = 1 1 + e − zy=\frac1{1+e^{-z}}y=1 + e−z _1
  図からわかるように、対数関数はz値を0または1に近いy値に変換する一種の「シグモイド関数」であり、その出力値はz=0付近で急峻に変化します。

2. 概念と由来

  対数オッズ関数をg − 1 ( ⋅ ) g^{-1}( )とします。g1)を一般化線形モデルに代入して次の結果を取得します:y = 1 1 + e − ( w T x + b ) y=\frac1{1+e^{-(w^Tx + b)}}y=1 + ewTx +b_1
画像の説明を追加してください
  このうち、標本 x が正例となる可能性を y とすると、1-y が負例となる可能性となり、両者の比は y 1 − y \frac y{1-y} となります1 yはいこれは確率と呼ばれ、x が正の例である可能性を反映します。オッズの対数を取得して対数オッズを取得します: lny 1 − y ln\frac y{1-y}ln _1 yはい
  図から、実際には線形回帰モデルの予測結果w T x + bw^Tx + bが利用されていることがわかります。wT ×+bは、真のマークの対数確率を近似しますlny 1 − y ln\frac y{1-y}ln _1 yはい, したがって、対応するモデルは「対数オッズ回帰」と呼ばれます。

注:
  対数確率回帰は回帰と呼ばれていますが、実際には分類学習方法です。

  対数確率関数の利点: 1. データ分布に関する事前の仮定なしで分類の可能性を直接モデル化し、不正確な仮定によって引き起こされる問題を回避します 2. カテゴリを予測するだけでなく、近似的な確率予測を取得できるため、意思決定を支援するために確率を使用する必要がある多くのタスクに非常に役立ちます

3. 対数確率関数は任意の次数で導出可能な凸関数であり、優れた数学的特性を備えており、既存の数値最適化アルゴリズムの多くを直接使用して最適解を求めることができます。

3. パラメータ w と b を解きます。

前のセクションの対数確率関数を単純化します。
ここに画像の説明を挿入
              y = ew T x + bew T x + b + 1 y = \frac {e^{w^Tx + b}}{e^{w^Tx + b}+1}y=ewTx +b+1_ewTx +b_,1-y = 1 ew T x + b + 1 \frac 1{e^{w^Tx + b}+1}ewTx +b+1_1
log-odds 関数の y をクラス事後確率推定値 p(y = 1 | x) と考えると、 lnp ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = w T x + b ln \frac {p(y = 1 | x)}{p(y = 0 | x)} = w^Tx + b と書き直すことができます   。
              ln _p ( y = 0∣ x p ( y = 1∣ x=wT ×+b
对的、
              p ( y = 1 ∣ x ) = ew T x + bew T x + b + 1 p(y = 1 | x) = \frac {e^{w^Tx + b}}{e^{w^Tx + b}+1}p (=1∣ x =ewTx +b+1_ewTx +b_
              p ( y = 0 ∣ x ) = 1 ew T x + b + 1 p(y = 0 | x) = \frac1{e^{w^Tx + b}+1}p (=0∣ x =ewTx +b+1_1
  w と b は「最尤法」で推定できます。詳細については、「最尤推定」をクリックしてください。データセット D={(x 1 , y 1 ),(x 2 , y 2 ),……,(x m , y m )} を指定すると、対数確率回帰モデルは「対数尤度」を最大化します:
              l ( w , b ) = ∑ i = 1 mlnp ( yi ∣ xi ; w , b ) l(w, b) = \sum_{i=1}^mln p( y_i|x_i;w,b)l ( w ,b )=i = 1メートルl n p ( y私はx私は;b )
つまり、各サンプルがその真のラベルに属する確率は可能な限り高くなります。
(後続のソリューションには最適化理論が含まれますが、これは一時的に省略されており、必要に応じてこの部分を更新できます)

4. 線形判別分析

1.コンセプト

  線形判別分析 (略して LDA) は、フィッシャー判別分析としても知られる古典的な線形学習方法です。
  アイデア: トレーニング サンプルのセットが与えられた場合、類似したサンプルの投影点ができるだけ近くなり、異種サンプルの投影点ができるだけ遠くなるように、サンプルを直線上に投影しようとします。新しいサンプルを分類するときは、それらを同じ直線上に投影し、投影点の未知数に従って新しいサンプルのカテゴリを決定します
  与えられたデータセットD = { ( xi , yi ) } i = 1 m , yi ∈ D=\{(x_i, y_i)\}_{i=1}^m,y_i ∈D={ ×私はy私は}i = 1メートルy私は {0,1} には次の概念があります:
X i X_iバツ私は: i 番目のクラス例の集合 (i∈{0,1})
μ i μ_iメートル私は: i 番目のクラスの同次ベクトル
∑ i \sum_iの例私は: i 番目のクラスの例の共分散行列が

  データを直線 w に投影すると、直線上の 2 種類のサンプルの中心の投影はw T μ 0 および w T μ 1 w^Tμ_0 および w^Tμ_1 となります。w _0そしてw _1; すべてのサンプルが直線上に投影される場合、2 種類のサンプルの共分散はそれぞれw T ∑ 0 w および w T ∑ 1 ww^T\sum_0w および w^T\sum_1wwT0wwT1w(直線は 1 次元空間なので、w T μ 0 、 w T μ 1 w^Tμ_0、w^Tμ_1w _0w _1w T ∑ 0 w 、 w T ∑ 1 ww^T\sum_0w、w^T\sum_1wwT0w wT1wは実数)LDAの考え方は「類似サンプルの投影点を可能な限り近づけ、異種サンプルの投影点を可能な限り遠ざける
  と述べましたwT0w+wT1w は可能な限り小さく、クラス中心間の距離が可能な限り大きくなるように可能な限り異種、つまり ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 ||w^Tμ_0 - w^Tμ_1||_2^2∣∣ w _0w _122上記の 2 つのケースを同時に考慮すると、最大化目的 J が得られます。
        J = ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 w T ∑ 0 w + w T ∑ 1 w J = \frac{||w^Tμ_0 - w^Tμ_0 - w^Tμ_1||_2^2}{w^T\sum_0w+ w^T\sum_1w}J=wT0w + wT1w∣∣ w _0−w_ _122
     化简後得 = w T ( μ 0 − μ 1 )( μ 0 − μ 1 ) T ww T ( ∑ 0 + ∑ 1 ) w \frac{w^T(μ_0 - μ_1)(μ_0 - μ_1)^Tw}{w^T(\sum_0+\sum_1)w}wT (0+1) wwTm)0メートル1)( m0メートル1Tw _
  「クラス内散布行列」を定義します:
     S w = ∑ 0 + ∑ 1 S_w = \sum_0+\sum_1S=0+1
      = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 0 ) ( x − μ 0 ) T = \sum_{x∈X_0}(x - μ_0)(x - μ_0)T + \sum_{x∈X_1}(x - μ_0)(x - μ_0)T=x X0( ×メートル0) ( ×メートル0) T+x X1( ×メートル0) ( ×メートル0) T は
  「クラス間散布行列」を定義します。
     S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b= (μ_0 - μ_1)(μ_0 - μ_1)TSb=( m0メートル1) ( m0メートル1) T
  LDA 最大化目標 (bおよび Swの「一般化レイリー商」
        J = w TS bww TS ww J = \frac{w^TS_bw}{w^TS_ww}J=wTS _wwTS _b

2. 実現する

w を解く:
  書き換えられた最大化目標の分子と分母は両方とも w の二次項であり、J の解は w の長さとは関係なく、w の方向のみと関係します。w TS ww = 1 w^TS_ww = 1とします。wTS _w=1 の場合、最大化目標はminw − w TS bw min_w \ \ -w^TS_bwと同等です。
     _  wTS _bわす
     と。w TS ww = 1 番目 \ \ \ \ \ \ \ \ w^TS_ww = 1s w        TS _w=1
  ラグランジュ乗数法により、上式は
     S bw = λ S ww S_bw = λS_wwSbw=λS _w
ここで、λ はラグランジュ乗数です。Sbw S_bwSbwの方向は常に μ0- μ1
     S bw = λ ( μ 0 − μ 1 ) S_bw = λ(μ_0 - μ_1)Sbw=l ( m0メートル1)
  代入上式で得られる、S ww = ( μ 0 − μ 1 ) 、 w = S w − 1 ( μ 0 − μ 1 ) S_ww=(μ_0 - μ_1),w=S_w^{-1}(μ_0 - μ_1)Sw=( m0メートル1w=Sw 1( m0メートル1)
   S w − 1 S_w^{-1}Sw 1解決: 通常はS w S_wによって行われます。S特異値分解を実行します。つまり、S w = U ∑ VT S_w=U∑V^TS=UVT , ∑ は実対角行列であり、その対角要素はS w S_wSSの特異値w − 1 = V ∑ − 1 UT S_w^{-1} = V∑^{-1}U^TSw 1=V1UTはS w − 1 S_w^{-1}を解きますSw 1

  LDA はベイズ決定理論の観点から説明でき、2 種類のデータが同じ事前分布、ガウス分布、および等しい共分散を持つ場合、LDA は最適な分類を達成できることが証明できます。
LDA は複数分類タスクに拡張できますが、ここでは一時的に省略します。必要に応じて更新します。

5、多カテゴリー学習

  多カテゴリ学習タスクの基本的な考え方は、多分類タスクをいくつかの二値分類タスクに分解して解決する「分解法」です。ここでは主にスプリット戦略について説明します。
  特定のデータセット D={(x 1 , y 1 ), (x 2 , y 2 ), ..., (x m , y m )}, y i ∈ {C 1 , C 2 , ..., C N } の場合、次のような状況があります。

古典的なスプリット戦略 一対一 1対多 多対多
英文 One vs. One (略して OvO) One vs. Rest (略して OvR) 多対多 (略して MvM)
ポリシーの内容 OvO は N カテゴリをペアにして、N(N-1)/2 の分類タスクを生成します。テスト フェーズでは、新しいサンプルがすべての分類器に同時に送信され、N(N-1)/2 の分類結果が得られます。最も予測されたカテゴリが最終的な分類結果です。 1 つのカテゴリが正の例として取得されるたびに、他のカテゴリは全体として負の例として取得され、対応するカテゴリ ラベルが最終的な分類結果として使用されます。陽性クラスを予測する分類器が複数ある場合は、最も信頼度の高いクラス ラベルを分類結果として選択します。 毎回、いくつかのクラスがポジティブ クラスとみなされ、他のいくつかのクラスがアンチクラスとみなされます (OvO と OvR は特殊なケースです)。MvM の長所と短所は特別な設計が必要であり、任意に選択することはできません。一般的に使用されるテクノロジ:「Error Correcting Output Code (略して ECOC)」。
比較 N(N-1)/2 の分類器をトレーニングする必要がある
ストレージ オーバーヘッドとテスト時間のオーバーヘッドが大きい
トレーニング時間は通常短い
N 個の分類器をトレーニングする必要がある
ストレージのオーバーヘッドとテスト時間のオーバーヘッドが小さい
トレーニング時間は通常長い
エンコードについては後ほど詳しく説明します
  ECOC は、カテゴリ分割にエンコードするというアイデアを導入し、デコード プロセスで可能な限りエラー耐性を高めます。ECOC の作業プロセスは主に 2 つのステップに分かれています。
  • エンコーディング: N カテゴリを M 回分割し、各分割で一部のカテゴリを肯定的なカテゴリとして分類し、一部のカテゴリを否定的なカテゴリとして分類し、バイナリ分類トレーニング セットを形成します。このようにして、合計 M 個のトレーニング セットが生成され、M 個の分類器をトレーニングできます。
  • デコード: M 個の分類器がそれぞれテスト サンプルに対して予測を行い、これらの予測マークがエンコードを形成します。この予測されたエンコーディングを各クラスのそれぞれのエンコーディングと比較し、距離が最小のクラスを最終予測として返します。

  コーディング図(最初に負う)の
  クラス分割は「コーディング行列」で指定します。コーディング マトリックス、一般的なバイナリ コード、トリプル コードにはさまざまな形式があります。

6. カテゴリの不均衡問題

  カテゴリの不均衡問題: 分類タスクにおけるさまざまなカテゴリのトレーニング サンプルの数が大きく異なる状況を指します。
  カテゴリ不均衡学習の基本戦略 - 「リスケーリング」:
    式: y ' 1 − y ' = y 1 − y × m − m + \frac {y'}{1-y'} = \frac y{1-y} × \frac {m^-}{m^+}1 yy=1 yはい×メートル+メートル
      クラスのバランスが取れている場合、分類子の決定ルールはy 1 − y > 1 \frac y{1-y} >1となります。1 yはい>1は正の例として予測されます。
      カテゴリのバランスが崩れている場合は、m + m^+メートル+は正の例の数を示します。m− m^-メートル負の例の数を示し、観測確率はm − m + \frac {m^-}{m^+}メートル+メートル、通常、トレーニングセットは不偏サンプリング、観測された確率 = 真の確率であると仮定します。分類器の予測確率が観測確率よりも高い限り、それは正の例として判断される必要があります。つまり、y 1 − y > m − m + \frac y{1-y} > \frac {m^-}{m^+}1 yはい>メートル+メートル
      このとき、リスケーリング戦略を採用して正と負の例の数を調整し、y ' 1 − y ' \frac {y'}{1-y'} を決定します。1 yy>1 が真かどうかは、y ′ 1 − y ′ = y 1 − y × m − m + \frac {y'}{1-y'}=\frac y{1-y} × \frac {m^-}{m^+} となります。1 yy=1 yはい×メートル+メートル
    方法: (正の例の数が負の例の数よりもはるかに少ないと仮定します)
      1. トレーニング セット内の負の例を直接「アンダーサンプリング」します。つまり、正の例と負の例の数が近くなるように、いくつかの負の例を削除します。
      2. トレーニング セット内の正のサンプルを「オーバーサンプリング」します。つまり、正の例と負の例の数が近くなるようにいくつかの正の例を追加します。
      3. 学習は元のトレーニング セットに直接基づいていますが、トレーニング済みの分類子を使用してテストおよびエンベッダーの意思決定をフォーミュラ化するプロセスでは、「しきい値シフト」と呼ばれます。

  「リスケーリング」は「コスト重視の学習」の基礎でもあります。コスト重視の学習では、リスケーリング式のm + / m − m^+/m^-メートル+ /mコスト+ / コスト − コスト^+/コスト^-コスト_+ /コスト_交換するだけです。ここで、コスト + コスト^+コスト_+は正の例を負の例として誤分類するコスト、コスト − コスト^-コスト_− は、負の例を正の例として誤分類した場合のコストです。


要約する

  この章では主に線形モデルについて説明しますが、線形モデルの本質は訓練セットの法則に適合する関数を見つけること(訓練セットについて学習すること)と、目に見えないデータをできるだけ正確に予測すること(強力な汎化能力)であることを知っておく必要があります。

おすすめ

転載: blog.csdn.net/G_Shengn/article/details/127634442
おすすめ