#この文書の主旨
この文書は、サポートベクターマシンを用いた多クラス分類モデルの精度を向上させ方について、筆者が試行錯誤した内容をメモしたものです。特定のライブラリや問題に依存するノウハウではなく、広く汎用的なノウハウを共有したいと考えています。
内容については、筆者の経験に依存しているので、必ずしも一般化できるものではないかも知れません。同じことについて試行錯誤している方に読んでいただき、ノウハウを共有したいと考えています。本文書で言及していない良いアイデアがあればコメント欄にて教えて下さい。
#学習用データ
###データ量
モデルの構築に使用する学習データの量とモデルの精度は、概ね比例の関係にあります。モデルの精度を向上させる上で、学習データの追加は手堅いアプローチのひとつです。
###特徴量の選択
ヒトの発想を元に様々な特徴量を用意してモデルを構築するのも良いですが、手に入る全ての特徴量をインプットしてみて結果を観察するほうが、手早く精度の良いモデルが出来ると思います。
###学習データの種類
学習データの追加によって、モデルの精度向上を目指す上では、どのような学習データを追加するかも重要になります。追加する際は、モデルが誤答したデータを優先しましょう。正答したデータのみを追加した場合、交差検定では精度が向上する一方で、未知データに対する汎化性能が落ちる場合があります。注意しましょう。
#評価用データ
###クラスの分布
予測の対象となるデータにおいて、クラスがどのように分布になっているかを把握しましょう。また、学習データセットは、その分布に近いものを用意しましょう。例えば、裏か表かを予測する二値分類モデルを作る際に、予測の対象となるデータセットにおいて、裏3:表7の分布になっていることが明らかな場合、学習データセットもそれと同じ分布にしましょう。
#パラメータ決定
###交差検定と汎化性能
交差検定で得られた精度と、未知データの精度において精度の差が出ることが往々にしてあります。この誤差は小さくする方法として、学習データ量を多くすることが有効なアプローチのひとつです。