サイト内の現在位置

分類器(決定木、勾配ブースティング決定木)の学習時間短縮例

no.013 Frovedis機械学習 教師あり学習編2021.7.30

 前回に続いてFrovedis機械学習アルゴリズムを使った分析例を紹介します。

 繰り返しになりますが、機械学習のアルゴリズムにおいて教師あり学習は回帰とクラス分類の2種類に分類されます。今回は後者のクラス分類を例にとり、Frovedis学習アルゴリズムを使ったサンプルの実行と共にscikit-learn版での学習に要する時間の比較を行います。

 クラス分類は多数の入力変数に対して離散的な出力yを持つデータセットに適用されます。例えば今回使用するCredit Card Fraud Detectionデータセットは、29種類の特徴量に対し出力yがNot Fraud、Fraudというように2値となります。このデータセットを使った機械学習アルゴリズムによる2クラス判定を行います。

Frovedis機械学習アルゴリズム

 クラス分類のための機械学習アルゴリズムは代表的なものとして、ロジスティック回帰、線形サポートベクトルマシン、分類木や分類木のアンサンブル法としてのランダムフォレスト、勾配ブースティング分類木などがあります。今回のサンプルコードでは分類木、勾配ブースティング分類木を使った2クラス分類を取り上げます。

 勾配ブースティング決定木は前回の回帰サンプルで使用しましたが、クラス分類においても利用できます。scikit-learn版勾配ブースティング決定木では並列処理は行われませんが、Frovedis版では個々の決定木作成を並列処理するため、非常に大規模なデータセットにおいてscikit-learnと比べ学習時間短縮が期待できます。


credit_classify

 本サンプルではCredit Card Fraud Detectionデータセットを用いて、初めにFrovedisとscikit-learn版による分類木、勾配ブースティング分類木による分析を示し、最後にPCA特徴量削減によりクラス分類結果をグラフ化しました。またFrovedisとscikit-learn版学習アルゴリズムにおける学習に要する時間の比較結果は以下テーブルの通りです。

学習アルゴリズム Frovedis (秒) scikit-learn(秒) Frovedisでの高速化
分類木 0.26 7.81 30.0倍
勾配ブースティング 16.84 1398.77 83.1倍

 大規模なデータセットに対して、機械学習パラメータを変化させながら学習を繰り返しての最適化や、あるいは交差検証を行うことは多くの場合において多大な時間消費となります。また、新たな特性を持つデータ追加がしばしばなされるようなケースでは頻繁に時間をかけての再学習を繰り返すことになります。SX-Aurora TSUBASAとFrovedisの処理並列化されたアルゴリズムを利用することで、高性能な学習モデルを高頻度かつ短時間で用意することが可能となり、システム開発、維持を低コスト化することが可能となります。

 次回は教師なし学習アルゴリズムの使用例をご紹介する予定です。

関連リンク