电子书

第 1 章

適切な分類モデルの選択


デタ分類モデルとは?

分類モデルは,特定の特徴量の組み合わせに基づいて,項目を個別のグループやクラスに割り当てるために用いられます。

適切なモデルを選ぶのはなぜ難しいのか?

各モデルは使われる状況に応じて,それぞれ強みと弱みを持っています。どのモデルを使用すべきかについては,数多くの検討事項があるため,定型化されたフローチャートのようなものは用意されていません。データ分類モデルの選択はビジネスケースとも密接に関連しており,達成する内容を明確に理解していなければなりません。

どうしたら適切なモデルを選択できるのか?

まずはじめに以下の質問に答える必要があります:

  • デ,タ量はどれくらいで,それは連続デ,タか?
  • どのような種類のデタか?
  • 達成したいことは何か?
  • プロセスの視覚化はどの程度重要か?
  • 詳細はどの程度まで必要か?
  • ストレジが制約要因になるか?

取り扱うデータの種類や使用目的について明確に理解できている場合は,各種モデルの長所に注目してみましょう。最適な分類モデルを選ぶ際の手始めとして役立一般的なルルがいくかあります。大量のデータを扱う場合(パフォーマンスや精度のちょっとしたばらつきが大きな影響を及ぼす可能性がある場合)において適切なアプローチを選択するには,試行錯誤を重ねて,複雑さ,パフォーマンス,精度の適切なバランスを見極める必要があります。以下で,知っていると役に立一般的なモデルの一例をご紹介します。

分類交差検定

交差検定は,機械学習のアルゴリズムの性能を評価するためのモデル評価手法です。この手法では,事前に学習されていないデ,タセットに対するアルゴリズムの予測性能が評価されます。交差検定では,データセットを分割し,サブセットを使用してアルゴリズムの学習を行い,残りのデータを使用して検定を行います。この手法にいては第3章で詳しく説明しています。

一般的な分類モデル

ロジスティック回帰の一般的な図

名前に”回帰”と入ってはいますが,ロジスティック回帰はバイナリ分類問題(データが2クラスしかないもの)に使用されます。ロジスティック回帰は,比較的単純な分類手法として知られており,より複雑なモデルの種類に移行する前の出発点としてよく使われます。

ロジスティック回帰は,予測変数の線形結合で出力がが0または1になる確率を推定します。これが,名前に"回帰"という言葉が入っている理由です。そして確率が予測変数の線形結合として計算されるので,ロジスティック回帰モデルは,比較的簡単に解釈できます。

単純ベ@ @ズ

デ,タが複雑でなく,タスクが比較的単純な場合は,単純ベ,ズアルゴリズムを試しましょう。これは高バイアス/低分散分類器で,モデルの学習に利用できるデータの量が限られる場合に,ロジスティック回帰および最近傍法よりも有効に機能します。

CPUやメモリリソ,スが制約要因となっている場合にも最適です。単純ベ@ @ズは極めてシンプルなため、データの過学習はまず発生せず、非常に高速に学習させることができます。連続的に新しいデータが投入される場合の分類器のアップデートにもうまく対応します。

データのサイズや分散が大きくなり,より複雑なモデルが必要になる場合は,他の分類器がより効果的と考えられます。また,この手法は分析が単純なので,複雑な仮説に対してはあまりよい出発地点とは言えません。

単純ベイズは,科学者がスパムフィルターやセンチメント分析などでテキストを操作する際に最初に試すアルゴリズムです。このアルゴリズムをまず試してみるとよいでしょう。

K最近傍法

学習データセット内のデータ点の間の距離に基づいてデータ点を分類する方法で,単純ですが効率的にデータを分類できます。\ \ (k)最近傍法(资讯)は”多数決”に基づくアルゴリズムです。

KNNはメモリベ,スの遅延学習器で,実際の学習フェ,ズは存在しません。学習デ,タをモデルに読み込み,分類器を使い始めるまでそのままにしておきます。新規にデータを分類する必要がある場合,然而モデルは指定された\ (k \)個の最近傍を探します。\ \ (k)が5の場合は,5つの最近傍のクラスが見つかります。ラベルまたはクラスに適用する場合,モデルはどこに分類すべきか多数決を行います。回帰問題を実行していて,連続値を求めたい場合は\(k\)最近傍の値の中央値を取ります。

然而,の学習時間は短いものの,データのサーチ時間(およびデータの保持に必要なメモリ)は他のモデルを上回る可能性があります。然而,では,アルゴリズムに関する情報だけを保持するのではなく,学習データの全てを保持するため,データ点数が増えるにつれてこの傾向が強くなります。

この方法の一番の欠点は,重要性の低い属性により,重要性の高い属性がぼやけてしまうことにあります。決定木などその他のモデルの方が,これらのノ。但し,データに重み付けをするなど,この問題を修正する方法は幾つかあるので,どのようなモデルを使うかに関しては,いくらかの選択の余地があります。

決定木

決定木が応答をどのように予測するかを見るには,ルート(開始)ノードから,応答を含む葉ノードまでの決定を順にたどって見ていきます。分類木は真または假などのノミナルな応答を出力します。回帰木は数値的な応答を返します。

決定木をたどるのは比較的簡単です。ル,トから葉までの経路をすべて見ることができます。これは,どのように結論に到達したのかにいて説明する必要がある場合に特に便利です。また,比較的高速に動作します。

決定木の主な欠点は過学習する傾向があることですが,アンサンブル法でこれを軽減することができます。Kaggleコンペで発表された参考になる例(作成者:古原Takeuchi)があります。バギング決定木を使用して,タ。

サポ,トベクタ,マシン

データに含まれるクラスが2つのみの場合は,サポートベクターマシン(SVM)の使用が考えられます。SVMはあるクラスのすべてのデータ点をもう一方のクラスのデータ点から分離する最適な超平面を見つけることでデータを分類します(SVMの最適な超平面とは,2つのクラス間に最大のマージンをもつ超平面のことです)。クラスが3以上ある場合にもSVMを使用できます。この場合,モデルは一連の2クラス(バイナリ)分類による部分問題を作成します(部分問題ごとに1つのSVM学習器を使用します)。

支持向量机には2の大きな利点があります。第一に,極めて正確で,デ,タの過学習が起こりにくいことです。第二に,線形サポ,トベクタ,マシンは比較的結果の解釈が容易です。SVMモデルは非常に高速なため,利用可能なメモリの量が限られている場合は,モデルの学習が完了したら学習データを破棄することができます。また,“カ,ネルトリック”と呼ばれる手法を用いることで複雑な非線形の分類も得意としています。

ただし,SVMの学習とチューニングは前もって行っておく必要があるため,使用前にモデルの準備に時間をかけることになります。さらに,3クラス以上のモデルを使用する場合は,処理速度に大きな影響が出ます。

ニュ,ラルネットワ,ク

人工ニューラルネットワーク(安)をうまく学習させることで,ある種の解を見つけさせたり,パターンを識別させたり,データを分類したり,将来の事象を予測させたりするようにできます。一般的にANNは文字認識,株式市場予測,および画像圧縮などの複雑な問題を解決するのによく利用されます。

ニューラルネットワークの動作は,個々の計算要素(ニューロン)がどのように結合されるかとその結合の強さ,すなわち重みによって定義されます。重みは,期待されるタスクが正確に実行されるようになるまで,指定した学習規則に従ってネットワークを訓練することで自動的に調整されます。

安は十分な経験があるユーザにとっては,特徴量が大量にある場合に非線形データをモデリングすることのできる優れた方法となります。正しく使用すれば,正攻法のアルゴリズムでは対処が難しい問題を解決することができます。ただし,ニューラルネットワークは計算コストが高く,安が解に到達した方法を理解するのが難しく(そのため計算の中身を推測するのも難しい),安を少しずつ手直ししてゆくというやり方は現実的ではありません。できることと言えば,学習の設定を変更して再学習を行うことぐらいと言えます。

知識試しに挑戦!

重要性の低い属性を無視するためにはどのようにKNNモデルを修正すればよいでしょう?

残念!

正解はデ,タの重み付けです。

\ (k \)最近傍法の一番の欠点は的重要性の低い属性により的重要性の高い属性がぼやけてしまい,モデルが騙されてしまうことです。デ,タに重み付けをすることでこの問題を修正することが可能です。

残念!

正解はデ,タの重み付けです。

\ (k \)最近傍法の一番の欠点は的重要性の低い属性により的重要性の高い属性がぼやけてしまい,モデルが騙されてしまうことです。デ,タに重み付けをすることでこの問題を修正することが可能です。

正解です!

\ (k \)最近傍法の一番の欠点は的重要性の低い属性により的重要性の高い属性がぼやけてしまい,モデルが騙されてしまうことです。デ,タに重み付けをすることでこの問題を修正することが可能です。

Baidu
map