機械学習
第
12,13
回 特徴学習(分類:多クラス分類、交差検証)
白浜 公章
前回の復習
分類問題
→
事例にフィットするステップ関数の近似minimize
𝑏,𝑤1,⋯𝑤𝑀,Θ
𝑝=1 𝑃
log 1 + 𝑒−𝑦𝑝(𝑏+𝒇𝑝𝑇𝒘)
• バイアス 𝑏 = 𝑤0
• 重みベクトル 𝒘 = 𝑤1 𝑤2 ⋯ 𝑤𝑀 𝑇
• 特徴ベクトル 𝒇𝑝 = 𝑓1 𝒙𝑝 𝑓2 𝒙𝑝 ⋯ 𝑓𝑀 𝒙𝑝 𝑇
(𝒙𝑝に関する𝑀個の異なる見方)
• ステップ関数近似
(理想的なケースと実際のケース)
• 固定の基底関数群による分類
今日のポイント
(
2
限)• 1層ニューラルネットワークによる分類
(調整可能な基底関数群による分類)
• 多クラス分類
✓ OvA
✓ 多クラス・ソフトマックス
✓ クロスエントロピー
(
4
限)• 交差検証
(アンダー/オーバーフィッテイング)
• 第2回レポート課題
実際に特徴学習に基づく分類を行うに 当たって抑えておくべきポイントを解説!
1
層順伝播ニューラルネットワークによる分類(調整可能な基底関数群による分類)
𝒙𝑝 ∈ ℜ𝑁に対する特徴ベクトルは、
𝒇𝑝 = 𝑎 𝑐1 + 𝒙𝑝𝑇𝒗1 𝑎 𝑐2 + 𝒙𝑝𝑇𝒗2 ⋯ 𝑎 𝑐𝑀 + 𝒙𝑝𝑇𝒗𝑀 𝑇 ここで、𝑎(∙)は活性化関数(例えば、tanhやReLU)
ただし、コスト関数は非凸
(通常、何度か実行して、その中で最小コストを導くパラメータを学習結果とする)
minimize
𝑏,𝒘,Θ
𝑝=1 𝑃
log 1 + 𝑒−𝑦𝑝(𝑏+𝒇𝑝𝑇𝒘)
解析的に最適パラメータが求まらないので、最急勾配法で解く
∇𝑔 = 𝜕𝑔
𝜕𝑏
𝜕𝑔
𝜕𝑤1 ⋯ 𝜕𝑔
𝜕𝑤𝑀
𝜕𝑔
𝜕𝑐1 ⋯ 𝜕𝑔
𝜕𝑐𝑀 ∇𝒗𝑇1𝑔 ⋯ ∇𝒗𝑇𝑀𝑔
バイアス
重み 基底関数の
バイアス
基底関数の 重みベクトル
𝑥1 𝑥2
𝑥𝑁 1
𝑣1,𝑚
𝑚 𝑓𝑚
𝑣2,𝑚
𝑣𝑁,𝑚
𝑐𝑚
𝑀個の𝑓𝑚が あることに留意
コスト関数を除くと、第9回「調整可能な基底関数群を用いた場合の最適化」と全く同じ
1
層順伝播ニューラルネットワーク による分類における勾配計算𝑔 =
𝑝=1 𝑃
log 1 + 𝑒−𝑦𝑝(𝑏+𝒇𝑝𝑇𝒘) =
𝑝=1 𝑃
log 1 + 𝑒−𝑦𝑝(𝑏+σ𝑚=1𝑀 𝑎 𝑐𝑚+𝒙𝑝𝑇𝒗𝑚 𝑤𝑚)
を合成関数の微分で微分すれば簡単に求まる
𝜕𝑔
𝜕𝑏 = −
𝑝=1 𝑃
𝜎 −𝑦𝑝 𝑏 +
𝑚=1 𝑀
𝑎 𝑐𝑚 + 𝒙𝑝𝑇𝒗𝑚 𝑤𝑚 𝑦𝑝
𝜕𝑔
𝜕𝑤𝑛 = −
𝑝=1 𝑃
𝜎 −𝑦𝑝 𝑏 +
𝑚=1 𝑀
𝑎 𝑐𝑚 + 𝒙𝑝𝑇𝒗𝑚 𝑤𝑚 𝑎 𝑐𝑛+ 𝒙𝑝𝑇𝒗𝑛 𝑦𝑝
𝜕𝑔
𝜕𝑐𝑛 = −
𝑝=1 𝑃
𝜎 −𝑦𝑝 𝑏 +
𝑚=1 𝑀
𝑎 𝑐𝑚 + 𝒙𝑝𝑇𝒗𝑚 𝑤𝑚 𝑎′ 𝑐𝑛 + 𝒙𝑝𝑇𝒗𝑛 𝑤𝑛𝑦𝑝
∇𝒗𝑇𝑛𝑔 = −
𝑝=1 𝑃
𝜎 −𝑦𝑝 𝑏 +
𝑚=1 𝑀
𝑎 𝑐𝑚 + 𝒙𝑝𝑇𝒗𝑚 𝑤𝑚 𝑎′ 𝑐𝑛 + 𝒙𝑝𝑇𝒗𝑛 𝒙𝑝𝑤𝑛𝑦𝑝
コード 12_1layer_nn_classification.ipynb参照
(コスト関数が非凸なので、何度か実行した方がいい)
𝑎 ∙ = tanh(∙)なら、
tanh′ ∙ = 1 − tanh2 ∙ = sech2 ∙ 𝑎 𝑙 = ReLU 𝑙 = max(0, 𝑙)なら、
ቊ𝑙 if 𝑙 > 0 0 otherwise 1つポイントを挙げるなら、
𝑑
𝑑𝑡log 1 + 𝑒−𝑡 = 1
1 + 𝑒−𝑡 −𝑒−𝑡
= 1
1 + 𝑒−𝑡
−1
𝑒𝑡 = −1
1 + 𝑒𝑡 = −𝜎(−𝑡) を使う。
多層の場合の誤差逆伝播法はレポート
第9回「調整可能な基底関数群を用いた場合の最適化(3/3)」参照
分類精度と境界
第11回のスライド「ステップ関数の近似」から分かるように、元々、
• 𝑦𝑝 = 1の事例に対して、𝑏 + 𝒇𝑝𝑇𝒘 > 0
• 𝑦𝑝 = −1の事例に対して、𝑏 + 𝒇𝑝𝑇𝒘 < 0
を実現するために、tanhを導入し、式展開を経て、logを伴うコスト関数を最適化していた 今、学習の結果、(𝑏∗, 𝑤∗, Θ∗)というパラメータが求まったとすると、誤分類数は、
𝑔0 𝑏∗, 𝑤∗, Θ∗ =
𝑝=1 𝑃
max 0, sign −𝑦𝑝 𝑏∗ + 𝒇𝑝𝑇𝑤∗
で数えられ、分類精度は、
accuracy = 1 − 𝑔0 𝑃
で求まる。また、分類境界は、下記を満たす事例𝒙の集合である。
𝑏∗ +
𝑚=1 𝑀
𝑓𝑚 𝒙 𝑤𝑚∗ = 0 𝑤∗ = 𝑤1∗ 𝑤2∗ ⋯ 𝑤𝑀∗ 𝑇
• 正しく分類されていれば−1
• 誤分類されていれば+1
多クラス分類
𝑃個の学習事例 𝒙𝑝, 𝑦𝑝
𝑝=1
𝑃 ここで、𝒙𝑝 = 𝑥1,𝑝 𝑥2,𝑝 ⋯ 𝑥𝑁,𝑝 𝑇、 𝑦𝑝 ∈ 1, 2, ⋯ , 𝐶
𝐶個のクラスのいずれかに属する
(例) 手書き数字の認識(深層学習のHello World)
𝒙𝑝は、0から9の10クラスのどれかに属する → 𝑦𝑝 ∈ 1, 2, ⋯ , 10
2つの代表的なアプローチを紹介
(第7回で解説したものを特徴学習に拡張)
• One-versus-All
• 多クラス・ソフトマックス
• クロスエントロピー
(最終的には、多クラス・ソフトマックスと 同値になるが、非常に重要なコスト関数)
One-versus-All (OvA)
1. あるクラスとそれ以外のクラスを識別するための𝐶個のモデルを学習する
• 𝑗番目のクラスの事例に対して𝑦𝑝 = +1(正例)
• それ以外の事例に対して𝑦𝑝 = −1(負例)
として、両者を𝑏𝑗 + 𝒇𝑝𝑗 𝑇𝒘𝑗 = 0によって識別するモデル(パラメータ:𝑏𝑗, 𝒘𝑗, 𝜣𝑗)を学習する
(𝒇𝑝𝑗 は、𝑗番目のクラスに関する分類を行うときの𝑝番目の事例𝒙𝑝に対する特徴ベクトルで、クラスごとに、
使用する基底関数の数𝑀𝑗(つまり、𝒇𝑝𝑗 の次元)が違っていてもOK)
2. 下記のフュージョンルールによって、事例𝒙をモデルの出力値が最大のクラスに分類する
(第7回「OvAにおけるフュージョン」参照)
𝑦 = argmax
𝑗=1,⋯,𝐶
𝑏𝑗 + 𝒇(𝑗)𝑇𝒘𝑗
コード 12_OvA_poly.ipynb参照
このクラス単体では分類精度 が悪いが、フュージョンすれ ば、正確な分類が行えている このクラス単体では分類精度 が悪いが、フュージョンすれ ば、正確な分類が行えている
(𝐶 = 3クラスに 対するOvAの例)
多クラス・ソフトマックス
• OvA:𝐶個のモデルを独立で学習し、後でフージョンした
(特徴ベクトル抽出のためのモデルが𝐶個で、𝐶クラスの分類)
• 多クラス・ソフトマックス: 𝐶個のモデルをフージョンしながら同時に学習する
(特徴ベクトル抽出のためのモデルは1個で、特徴の組み合わせ方を変えた𝐶個の線形モデルを学習)
𝑔 𝑏1, ⋯ , 𝑏𝐶, 𝒘1, ⋯ , 𝒘𝐶, Θ = −
𝑐=1 𝐶
𝑝∈Ω𝑐
𝑏𝑐 + 𝒇𝑝𝑇𝒘𝑐 − log
𝑗=1 𝐶
𝑒𝑏𝑗+𝒇𝑝𝑇𝒘𝑗
導出や勾配計算は、下記のスライドを参照
(𝒙𝑝が𝒇𝑝になっただけ)
• 第7回「多クラス・ソフトマックス」
• 第7回「ソフトマックス関数の導入」
• 第7回「多クラス・ソフトマックスの最適化」
コード 12_multi-class_softmax.ipynb参照
クロスエントロピー:
2
クラスの場合ログエラーと最小2乗誤差との比較
(点線:𝑦𝑝 = 1、実線:𝑦𝑝 =0に対するコスト)
ログエラーの方が大幅に厳しい!
コード 12_cross_entropy.ipynb参照
𝑔𝑝 𝒘 = ቐ −log 𝜎 𝒙𝑝𝑇𝒘 𝒙𝑝がクラス“1”に属する(𝑦𝑝 = 1)のコストとして使用可能
−log 1 − 𝜎 𝒙𝑝𝑇𝒘 𝒙𝑝がクラス“0”に属する(𝑦𝑝 = 0)のコストとして使用可能
𝒘はモデルパラメータ(コンパクト表現)
𝑔 𝒘 = 1 𝑃
𝑝=1 𝑃
𝑔𝑝 𝒘 = − 1 𝑃
𝑝=1 𝑃
𝑦𝑝log 𝜎 𝒙𝑝𝑇𝒘 + (1 − 𝑦𝑝)log 1 − 𝜎 𝒙𝑝𝑇𝒘 これまでは、ラベルを連続値として近似してきたが、分類で扱うラベルは離散値
離散値に特有のコスト関数を考えてみる
クロスエントロピー:モデルの確率出力(の分布)とラベル(の分布:後述のone-hot表現参照)
の一致度に基づくコスト
事例𝒙𝑝 ∈ ℜ𝑁に対する𝑦𝑝 ∈ {1,0}に関するログエラー(Log Error)
• ロジスティック回帰の出力𝜎 𝒙𝑝𝑇𝒘 を、𝒙𝑝がクラス“1”に属すると判定された確率とする(0 ≤ 𝜎(𝑡) ≤ 1)
• 1 − 𝜎 𝒙𝑝𝑇𝒘 は、𝒙𝑝がクラス“0”に属すると判定された確率とみなせる
クロスエントロピー
(コスト関数)
クロスエントロピーの性質
常に凸(もちろん、線形モデルや固定の基底関数群の場合の場合に限る)
1階微分
2階微分
∇𝑔 𝒘 = −1 𝑃
𝑝=1 𝑃
𝑦𝑝 − 𝜎 𝒙𝑝𝑇𝒘 𝒙𝑝
∇2𝑔 𝒘 = 1 𝑃
𝑝=1 𝑃
𝜎 𝒙𝑝𝑇𝒘 1 − 𝜎 𝒙𝑝𝑇𝒘 𝒙𝑝𝒙𝑝𝑇
普通に𝑔 𝒘 を微分したら求まる
• 結局、1階微分の𝜎 𝒙𝑝𝑇𝒘 𝒙𝑝の微分
• 𝜎′ 𝑥 = σ 𝑥 (1 − σ 𝑥 )を使う
これをレイリー商の形に変形すれば、
固有値が少なくともゼロ以上である ことが証明できる → 凸関数
(この一次元データの分類に対する(左)単純なステップ関数、(中)2乗誤差、(右)クロスエントロピーによるコスト関数の視覚化)
コード 12_cross_entropy.ipynb参照
One-hot
表現を用いたクロスエントロピーこれまでは、ラベルを離散値として扱ってきたが、実際には順序関係がないカテゴリ値
カテゴリ値を用いてもクロスエントロピーは全く同じ(これが実際よく用いられる考え方)
(離散値に関しても、簡単のため1,0を用いたが、値自体は、何でもいい)
ラベルのOne-hot表現:𝒙𝑝が属するクラスに対応する次元に対してのみ“1”をとり、それ以外は“0” 𝑦𝑝 = 0の事例なら、𝒚𝑝 = 1
0 𝑦𝑝 = 1の事例なら、𝒚𝑝 = 0 1
ラベルをOne-hot表現の“ベクトル”
で表しているのがポイント!
• ラベルはもはや数値ではない
• 次元に意味がある
モデルの出力もベクトルにして、ラベルのOne-hot表現と類似させることを目指す(ベクトル近似)
𝝈𝑝 = 𝜎 𝒙𝑝𝑇𝒘
1 − 𝜎 𝒙𝑝𝑇𝒘 ≈ 𝒚𝑝 = 𝑦𝑝,1 𝑦𝑝,2
この表現から、クロスエントロピーは、
「モデルの確率出力の分布」と「ラベルの分布」
の一致度を検証していることが分かる
𝑔 𝒘 = 1 𝑃
𝑝=1 𝑃
−𝒚𝑝𝑇 log𝝈𝑝 = −1 𝑃
𝑝=1 𝑃
𝑦𝑝,1log 𝜎 𝒙𝑝𝑇𝒘 + 𝑦𝑝,2log 1 − 𝜎 𝒙𝑝𝑇𝒘
まとめると、下記のようなコスト関数になり、離散値のラベルのクロスエントロピーと一致する
• 𝑦𝑝,1もしくは𝑦𝑝,2のどちらかが“1”、どちらかが“0”なので、2項とも計算する必要はない コード 12_cross_entropy.ipynb参照
• 𝑦𝑝,1とlog 𝜎 𝒙𝑝𝑇𝒘 、 もしくは𝑦𝑝,2とlog 1 − 𝜎 𝒙𝑝𝑇𝒘 が一致している程、値が大きくなるのでマイナス倍
𝐶次元のベクトル 𝒔 = 𝑠1 𝑠2 ⋯ 𝑠𝐶 𝑇が与えられたとき、
(後で、𝐶個のクラスを扱う)
1. 𝒔の各要素の指数をとる 𝑒𝑠1 𝑒𝑠2 ⋯ 𝑒𝑠𝐶 𝑇 2. 要素の総和が1になるように正規化する 𝝈 𝒔 = 𝜎1 ⋯ 𝜎𝑐 ⋯ 𝜎𝐶 𝑇
= 𝑒𝑠1
σ𝑗=1𝐶 𝑒𝑠𝑗 ⋯ 𝑒𝑠𝑐
σ𝑗=1𝐶 𝑒𝑠𝑗 ⋯ 𝑒𝑠𝐶 σ𝑗=1𝐶 𝑒𝑠𝑗
クロスエントロピー:多クラスの場合(
1/3
)正規化指数関数(𝜎 ∙ :Normalised exponential function)
任意のベクトルを離散的な確率分布に変換する • “ソフトマックス関数”とよく呼ばれて いるが、厳密には間違い(max関数 の近似でない)
• ただし、この呼ばれ方がもはや一般 化してしまっているため、ニューラル ネットの文脈で、“ソフトマックス関数”
と言われれば、“正規化指数関数”だ とイメージするように!
1. 非負
2. 順序は保存
上記に加えて、
3. 0 ≤ 𝜎𝑐 ≤ 1
ゆえに、離散値(カテゴリ値)
に対する確率分布とみなせる!
クロスエントロピー:多クラスの場合(
2/3
)𝐶個のクラスに対するモデルの出力
𝒙𝑝𝑇𝑾 = ෪ 𝒙𝑝𝑇 𝒘1 𝒘2 ⋯ 𝒘𝐶 = 𝒙𝑝𝑇𝒘1 𝒙𝑝𝑇𝒘2 ⋯ 𝒙𝑝𝑇𝒘𝐶 を正規化指数関数に入れて確率化する。
𝝈 𝒙𝑝𝑇෪𝑾 = 𝑒𝒙𝑝𝑇𝒘1
σ𝑗=1𝐶 𝑒𝒙𝑝𝑇𝒘1 ⋯ 𝑒𝒙𝑝𝑇𝒘𝑐
σ𝑗=1𝐶 𝑒𝒙𝑝𝑇𝒘𝑗 ⋯ 𝑒𝒙𝑝𝑇𝒘𝐶 σ𝑗=1𝐶 𝑒𝒙𝑝𝑇𝒘𝑗
モデルによって判定された、
𝒙𝑝が各クラスに属する確率
(確信度)
分類境界からの距離関係を保持しつつ、確率化している
クロスエントロピー:多クラスの場合(
3/3
)𝐶クラスに対する𝒙𝑝のOne-hot表現 𝒚𝑝 = 0 0 ⋯ 1 ⋯ 0 𝑇
𝒙𝑝が属するクラス𝑦𝑝に対応する次元に対してのみ“1”をとり、それ以外は“0” 確率化されたモデルの出力𝝈 𝒙𝑝𝑇෪𝑾 が、このクラスでのみ大きくなるように𝑾( ෪ 𝒘𝑐 𝑐=1𝐶 )を最適化する
𝝈 𝒙𝑝𝑇𝑾෪ 𝑇 ≈ 𝒚𝑝
• 𝜎 𝒙𝑝𝑇෪𝑾 を正規化指数関数による確率分布
• 𝒚𝑝を(1つの事象に極度に偏った)確率分布
とみて、両者の一致度をクロスエントロピーで測る!
𝑔𝑝 𝑾 = ෪
𝑐=1 𝐶
𝑦𝑝,𝑐 log 𝜎 𝒙𝑝𝑇𝒘𝑐 = −log 𝜎 𝒙𝑝𝑇𝒘𝑦𝑝 = −log 𝑒𝒙𝑝𝑇𝒘𝑦𝑝 σ𝑗=1𝐶 𝑒𝒙𝑝𝑇𝒘𝑗
𝑔 ෪𝑾 = − 1 𝑃
𝑝=1 𝑃
log 𝑒𝒙𝑝𝑇𝒘𝑦𝑝
σ𝑗=1𝐶 𝑒𝒙𝑝𝑇𝒘𝑗 = −1 𝑃
𝑝=1 𝑃
𝒙𝑝𝑇𝒘𝑦𝑝 − log
𝑗=1 𝐶
𝑒𝒙𝑝𝑇𝒘𝑗
多クラス・ソフトマックスのコスト関数と同じ!(第7回「ソフトマックス関数の導入」参照)
(多クラス・ソフトマックス ⇔ 正規化指数(ソフトマックス)関数 + クロスエントロピー)
𝒙𝑝単体に対するコスト
𝑃個の学習事例に対する総合的なコスト
分類におけるオーバーフィッティング
回帰と同様、基底関数の数を増やして、モデルの表現力を上げると、
❑ 理想的な場合:クラスの領域全体をカバーする大量のクリーンな事例が与えられている
→ 常に、正確な分類が行える(ステップ関数をより正確に近似できる)
❑ 実際の場合:まちまちの箇所しかカバーしないノイジーな限られた事例しか与えられていない
→ 学習事例に対する分類精度は向上するが、未知の事例に対して貧弱(オーバーフィッティング!)
(第10回「オーバーフィッティング」参照)
次数𝐷 = 2(黒:基底関数の数𝑀 = 5)と𝐷 = 5 (緑:𝑀 = 20)による多項式群による分類の比較
(点線は求めるべき分類境界)
(実際) (理想的)
誤ってラベル付けされた事例 に反応してしまっている
(個人的に、これは、しょうがい ないとも思うが)
誤ってラベル付けされた事例 に反応してしまっている
(右の3つのラベルミスは、しょ うがいないと思うが)
コード 12_cross_validation.ipynb参照
ホールドアウト交差検証
回帰のときと同じ(第10回「ホールドアウト交差検証」参照、𝑘の選択指針に関しても同じ)
(入力) 𝑘:“元の学習事例”を何分割するか、候補となる𝑀の集合
1. 元の学習事例をランダムに𝑘分割し、1/𝑘をテスト事例、残りの(𝑘 − 1)/𝑘を学習事例に設定 2. それぞれの𝑀を用いて、モデルを学習・テストして、テスト事例に対する最も精度が高い
(スライド「分類精度とエラー」参照)モデルが学習できた𝑀∗を選択
3. 選択した𝑀∗を用いて、“元の学習事例”の全て使用してモデルを学習し、未知の事例に備える
多項式群による2クラス分類で、𝑘 = 3で、候補となる 次数𝐷 = 1,2,3,4,5,6,7,8 𝑀 = 2,5,9,14,20,27,35,44に対応 から最適な𝐷∗(𝑀∗)を選択
“元の学習事例”
• 小さな円が学習事例
• 大きな円がテスト事例
テスト事例に対するエラーが最小の𝑫∗ = 𝟒(𝑴∗ = 𝟏𝟒)を選択 𝐷が増えれば、学習事例に対するエラーは常に減っているが、
テスト事例に対するエラーはそうでない!
𝐷∗ = 4(𝑀∗ = 14)で全事例を 用いて学習したモデル(実線)
コード 12_cross_validation .ipynb参照
k
重交差検証これも回帰のときと同じ
(第10回「k重交差検証」、「k重交差検証の例」参照)
(ポイント)“元の学習事例”を𝑘分割して、各分割を テスト事例として、ホールドアウト交差検証を𝑘回 繰り返し(各回をfoldと言う)、平均の分類精度が 最も高い𝑀∗を選択する
学習事例、テスト事例への分割の偏りを少なくして、
ロバストに𝑀∗を選択できる!
1, 2, 3行目が、1, 2, 3回目のfoldにおけるホールドアウト 交差検証の結果を表している(塗つぶされている円、
されていない円が、それぞれ学習事例、テスト事例)
多項式群による2クラス分類で、𝑘 = 3重交差検証を行い、
候補次数𝐷 = 1,2,3,4,5,6,7,8 𝑀 = 2,5,9,14,20,27,35,44 から最適な𝐷∗(𝑀∗)を選択
1, 2回目のfoldではオーバーフィッティング、3回目のfoldでは アンダーフィッティングが発生しているが、3回の平均をとって、
最終的にベストな𝑀∗ = 14 (𝐷∗ = 4)を選択できている!
• 青:学習事例に対するエラー(次数の増加に伴い常に減少)
• 黄:テスト事例に対するエラー(次数が増えても減少するとは限らない)
𝑀∗= 14 (𝐷∗= 4)、全事例 を用いて学習したモデル
交差検証がうまく行かない場合は・・・
使用しているデータセット(“元の学習事例”)に原因がある!
事例数が少なすぎる
→ 線形分離できてしまっている 事例が偏っている 事例とラベルに関係性
(構造)がない
(実線が交差検証を経て学習された分類境界、点線が求めるべき境界)
(例)医療系の問題では、多くの 事例を収集するのが困難
(例)特定の人種の顔画像 しか使用していない
(補足)
OvA
に対する交差検証(ポイント)それぞれのサブ問題(あるクラスの事例 vs. その他全ての事例)ごとに、
交差検証を行う
(多クラス・ソフトマックスやクロスエントロピーの場合は解く問題は1つなので、普通に交差検証を適用する)
スライド「One-versus-All (OvA)」では、
一貫して𝐷 = 2 (𝑀 = 5)を用いてた ので、うまく分類できていなかった
多項式群による3クラス分類に対する𝑘 = 3重交差検証の結果
𝐷∗ = 2 (𝑀∗ = 5)が選択 𝐷∗ = 4 (𝑀∗ = 14)が選択 𝐷∗ = 2 (𝑀∗ = 5)が選択 フュージョン
分類のための特徴学習の
Tips
• 基底関数の選択指針は、回帰のときと同様(第10回「どの基底関数がいいの?」参照)
• データ量と知識の関係も回帰と同様だが(第10回「特徴学習の使いどころ」参照) 、 分類では、基底関数(特徴変換)の設計に知識が使われることが多い!
内部パラメータΘを含んだ特徴変換を設計し、𝒃, 𝒘と合わせて最適化する
(次回から)「人間の脳細胞が、画像領域中の特定のエッジパターン に反応する」という知識に基づいてフィルタを定義し、その内部パラメータ を最適化する
特徴変換の設計に知識を導入している分、全く知識がないときに 比べて、データ量は多少は少なくてもいい