v4.0新機能 多値分類と異常検知が登場

DataRobotの小川幹雄です。

DataRobotのv4.0がリリースされ、新たな新機能がたくさん追加されました。その中でも特に大きなアップデートとして多値分類問題への対応と異常検知問題にDataRobotが対応できるようになりました。本稿では、新機能である多値分類問題と異常検知問題がそもそもどういったユースケースで使えるものであるかについて説明し、DataRobotでどのような機能として実装されたかについて紹介していきます。

 

多値分類問題

多値分類問題とは

多値分類は他にもマルチクラス(Multi-class)や多クラス分類などと呼ばれることがあります。ターゲットとなるものがYes、Noのような2種類のカテゴリ型のデータを分析していたものを二値分類と呼ぶのに対して、多値分類はターゲットがA,B,Cや松、竹、梅のように3つ以上あるものとなります。

例えば、「顧客がどこのセグメントに属するのか?」 や「どのチャネルでのアプローチが効果的なのか?」といった問題に直接対応できるようになりました。マーケティングではセグメントごとにユーザーへのアプローチを変えるため、正確なセグメント予測によって、その後のCVRを上げることに繋がります。またリードジェネレーションの次のアクションとして効果的なものは何なのかという課題に対して、これまでに行ってきたアクションの実績から正解パターンを事前に予測することもできるようになります。

 

DataRobotにおける多値分類機能

DataRobotではこれまでも二値分類問題の応用として、One vs Restの形式で複数の二値分類プロジェクトの組み合わせで多値分類を行うことができましたが、現在は一つのプロジェクトで多値分類を行うことができるようになりました。特別な設定は特に必要なく、これまでと同じようにターゲットで3つ以上のユニークなカテゴリ型を選択すると自動的にDataRobotが多値分類問題と判定し、これまでと同じように最適な指標や使用するブループリントをDataRobotが全て選択してくれます。

Screen Shot 2018-01-09 at 14.11.21.png

多値分類問題のプロジェクトを実行した場合にもモデルの見え方などは従来と同じです。リーダーボードからモデルを選択してモデルの性質を見たり、デプロイすることができるようになっています。多値分類問題では、二値分類問題や回帰問題で使用していたROC曲線やリフトチャートが視覚的に表現できないことから多クラス混同行列を持ってモデルの精度を一目で確認することができるようになっています。

多クラス混同行列はこれまでの二値分類問題で使用していた混同行列を多値分類問題に対応させたもののため、基本的な見方は同じです。違う点としては、閾値という概念はなく、もっとも予測値の高いクラスになったものを実測として計算していきます。これまでと同じように左上から右下への対角線状の升が予測が正解したもの(緑の円で表現)になり、それ以外に関しては間違えたもの(赤の円で表現)となっています。どのクラスはうまく予測できていて、うまく予測できていないクラスはどのクラスと間違えてしまったのかが一目でわかるようにUIが工夫されています。もちろん、直感的な図だけでなく、具体的な%のリストまでドリルダウンすることもできます。

screen-shot-2017-10-30-at-18-09-07-e1516815020232.png

 

異常検知問題

異常検知問題とは

機械学習には大きく、教師あり学習と教師なし学習というジャンルがあります。これまでDataRobotは教師あり学習に特化して対応していましたが、異常検知問題という教師なし学習にも対応できるようになりました。

例えば”外れ値検出”や”新規性検出”といったこれまで一度も発生しないような事象を捉えたいという問題に対応できるようになりました。製造業ではこれまでに一度も発生していない故障や数えるほどしか発生していない故障を検知することによって予防検知を実現できるようになります。また金融業における不正取引では犯罪の高度化によって過去と同じパターンが取られず、常に最新の手法となります。そのような不正取引においても過去の取引との違いからくる異常を検知して未然に検知することができるようになります。

 

DataRobotにおける異常検知機能

異常検知機能はこれまでのDataRobotで見せていた教師あり学習とモデルの考え方に違いがあるため、現時点ではある程度データサイエンスが理解できる人向けのβプログラムという形でご利用テーマなどをご相談の上提供させていただいております。

異常検知機能が有効にされているアカウントでは、これまでと同じようにDataRobotでオートパイロットを実行すると自動的に異常検知モデルも実行されます。またリポジトリから明示的に指定して実行することもできます。全ての異常検知モデルはAnomalyという言葉が含まれているため、簡単に見つけることができます。

Screen Shot 2018-01-09 at 14.46.13

異常検知モデルにおいても操作やリーダーボード上の見え方としてはこれまでのプロジェクトと同じになっています。ただ最適化する指標に対してのアプローチや教師ラベルの取り扱い方など内部の動きに違いがあります。元のデータを分析し、どのデータがどれくらい”外れている値”なのかを異常値として算出します。算出した異常値においてはリーズンコードも使用でき、どうしてそのデータが異常値となったのかという理由も確認することができます。

また新しいインサイトとして、元のデータに対して異常値の高いものをハイライトした表を確認することができるようになりました。異常値 (anomalyScore) は、最も異常度合いが高いものを1、最も低いものを0として相対評価されます。

Screen Shot 2018-01-26 at 11.09.37.png

 

まとめ

多値分類問題への対応、異常検知問題への対応によって、これまで半自動で対応していた問題やDataRobotでは対応できなかった課題への適用が簡単にできるようになりました。

v4.0には今回紹介した多値分類問題への対応、異常検知問題への対応以外にも多くの新機能が含まれています。DataRobotはより良い予測を早く出せるように様々な機械学習問題への対応の幅を広げています。ぜひ新しいDataRobotを体験ください。