サイト内の現在位置

勾配ブースティング回帰木を使用した回帰分析

no.012 Frovedis機械学習 教師あり学習編2021.6.29

 前回はFrovedisでのデータ処理を見てきました。これから数回に分けてFrovedis機械学習アルゴリズムを使った分析例を紹介していきます。

 Frovedisに限らず機械学習のアルゴリズムを、教師あり学習と教師なし学習に大別する考え方が一般的です。教師あり学習は、何らかの入力に対する予測値を出力として得たいケースでの分析に使用されます。また、「教師あり」という名称が示す通り、入力に対する出力の組み合わせのデータがそろっている必要があります。この組み合わせをもとに何らかの学習を行い、その学習結果を使って入力データから出力データを予測します。

 この教師あり学習は、さらに回帰分析とクラス分類の2種類に分類されます。回帰分析では入力xに対する出力yを予測するために、その関係性を決めるパラメータを機械学習で求めるものです。一方、クラス分類では出力yが回帰分析のように連続である必要はなく、離散的な形を持つデータセットに対する分析手段として利用されます。例えば、顧客情報(年収や家族構成、年齢、住所等)を基に何らかの商品の購入がありそうか、といった判定に使用するようなケースです。

 回帰分析、クラス分類共に、様々な数学・統計的手法による機械学習アルゴリズムが存在します。データセットの性質や入力に対する出力の関係を決めるモデルの複雑さに応じて、どのアルゴリズムが最適な結果につながるか、分析者の判断が求められます。各機械学習アルゴリズムの長所短所について深く踏み込みませんが、個々のアルゴリズムについて特性を十分理解して選択することが重要です。

 今回のコラムでは教師あり学習の中の回帰分析、また機械学習アルゴリズムは決定木から派生しアンサンブル法という考え方を取り入れた勾配ブースティング回帰木を取り上げます。決定木は木構造を用い、木の根から条件によって分岐しつつ葉に向かい、特定の葉に到達することで予測を行うものです。この決定木は階層が深くなりすぎるとテストデータに対して過剰に適合してしまい、過学習を起こす短所を持ち合わせています。この過学習を防ぐ手段として、決定木にアンサンブル法という考え方を導入し、単純に一つの決定木ではなく、複数の決定木の組み合わせを用いる手法が考え出されています。その代表的アルゴリズムとしてランダムフォレストと勾配ブースティングが一般的に知られています。

 ランダムフォレストは、データセットを乱数に基づいて分割することで、複数の決定木を作ります。個々の決定木すべてについて予測を行い、その平均をとって回帰結果を得ることによって過学習を防ぐものです。

 一方の勾配ブースティングでは一つ前の決定木の誤りを次の決定木が修正するように繰り返しながら決定木を追加していくものです。ランダムフォレストに比べ、学習に際して調整を必要とするパラメータ設定に結果が左右されやすくなりますが、正しいパラメータ設定においてはランダムフォレストより良いテスト結果が得られます。

 これらランダムフォレスト、勾配ブースティングともにscikit-learnにおいて実装されています。Frovedisにおいても両方の学習アルゴリズムを利用することができます。scikit-learn版勾配ブースティングでは並列処理は行われませんが、Frovedis版では個々の決定木作成を並列処理するため、非常に大規模なデータセットにおいてscikit-learnと比べ学習時間短縮が期待できます。

 Frovedis版勾配ブースティング回帰分析デモンストレーションではKaggleの中古車販売価格データセットを用いています。ブランド別にCSVに収められたデータを一つのテーブルに統合後、入力データとして中古車の製造年、走行距離、排気量を、出力データには中古車価格を選んでいます。そして、learning_rateとn_estimatorsのパラメータを変えながら学習データとテストデータ双方で予測結果を表示させています。最も予測結果が良好なパラメータで再度予測を実施します。learning_rateは個々の決定木がそれ以前の決定木の過ちの補正度合いを制御するものです。またn_estimatorsを指定することで決定木の数をコントロールします。


used_car_regression

 今回行ったサンプルのように、個々のパラメータを変化させてテスト精度や過剰適合の程度を調べる作業はベストな学習モデルを得る一つの方法と言えます。大規模なデータセットに対して学習を繰り返し行うことは多くの時間消費につながります。SX-Aurora TSUBASAとFrovedisの処理並列化されたアルゴリズムを使用することで、高性能な学習モデルをより低コストで作り上げることができます。

関連リンク

new windowAL/ML開発向けオープンソースプラットフォーム「Frovedis」

new windowSX-Aurora TSUBASAテクニカルセミナー特設サイト
本コラム内容を踏まえたテクニカルセミナー動画公開中。第2回講演参照。