分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。
y がカテゴリーの情報のとき、クラス分類でモデルを構築します。
品質管理のとき、良品・不良品を予測する場合、良品のみ製造するための判断をする場合、製品の種類の分類を自動的に判断する場合、材料開発のときにゲル化するかしないか予測しない材料を合成したい場合、反応が行くかどうかを予測したい場合など、y の情報がカテゴリーになり、クラス分類をすることになります。
y が連續値である回帰分析と比べたとき、クラス分類では注意点があります。
一つは各クラスのサンプル数のばらつきに関する内容です。特にサンプル数が小さい場合、トレーニングデータとテストデータに分割するとき、例えばテストデータには あるクラスのサンプルが一つもない、ということがないように、トレーニングデータとテストデータに分けましょう。トレーニングデータにおける各クラスのサンプルの割合と、テストデータにおける各クラスのサンプルの割合が、同じになるように分割します。
また予測結果の評価のとき、各クラスのサンプル数が大きく異なると、異様に正解率が高くなることがあるため注意しましょう。例えばクラスAのサンプル数が 9999、クラスBのサンプル数が 1 で二クラス分類したとき、すべてのサンプルをクラスAと予測する、意味のないクラス分類モデルでも、正解率は 99.99% になります (クラスBの1サンプルしかハズレにならないためです)。そのため、必ず混同行列を確認しましょう。
各クラスのサンプル数がばらついているとき、もちろんアンダーサンプリングやオーバーサンプリングなどクラス分類モデルを構築するときに工夫する方法もありますが、最低限、上のトレーニングデータとテストデータの分割やクラス分類結果の評価のときは注意するようにしましょう。
二つ目はモデルの適用範囲 (Applicability Domain, AD) に関する内容です。
例えばアンサンブル学習によりクラス分類モデルの AD を決める方もいらっしゃると思います。予測されたクラスの信頼度を、0 から 1 の範囲で推定でき、特にクラス間の境界領域における信頼度を推定する際に効果を発揮しますが、逆に境界領域から大きく離れた領域では、そのような信頼度は全然当たりませんので注意してください。境界領域から大きく離れ、周辺にどのクラスのサンプルも存在しないような領域でも、信頼度が 1 (100% 信頼できる) と推定されてしまいます。そのため、例えばデータ密度を用いて、クラス分類モデルの AD を別途設定する必要があります。
回帰分析ではできないことがクラス分類でできたり、データ解析・機械学習の目的と照らし合わせたときにクラス分類がベストの手段であったりすることも多々あります。そのようなときは、上の各点に注意しながら、クラス分類を行うようにしましょう。
以上です。
質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。