DeNAのKaggle日記

第3回:チームで取り組むKaggleの面白さ--コンペ準優勝の裏側とは? - (page 2)

加納龍一 (ディー・エヌ・エー)

2018-09-28 06:50

Kagglerの個性

 ここで、チームで取り組むことの価値が出てきます。実際にKaggleに取り組んでみると分かるのですが、一人ひとりのKagglerは個性を持っており、得意とする手法やアプローチは千差万別です。それらの個性を集約することで、最終的な予測モデルに多様性が生まれてくるのです。

 Kagglerの個性といってもイメージが湧きにくいと思うので、少し具体例を挙げてみようと思います。

 Kaggleで扱う予測問題に取り組む手法は、大きく二種類に分類できると思っています。ニューラルネットワークを用いるものと、勾配ブースティングと呼ばれる手法を用いるものです。両者は性質が大きく異なり、それらの中にも細分化された数多くのアルゴリズムが存在しています。どんなアルゴリズムを選ぶかというのも、Kagglerによりさまざまです。

 また、モデルに入力する特徴量の多様性も、最終的な予測精度の多様性にとって重要です。モデルの性質上、どうしてもモデル内では表現しづらい特徴というのは存在します。例えば、ニューラルネットワークも勾配ブースティングもモデル内部で特徴量同士の乗除演算を表現できないため、入力の特徴量の掛け算や割り算の結果を人間が作成して入力するというのは重要となります。このような、モデルが表現できない部分を人間が抽出する作業は、「特徴量エンジニアリング」と呼ばれています。

 ここが機械学習の精度を突き詰める上で個性の生まれやすいところで、「どういった人がローンを完済できなくなってしまうのだろうか」などと考えつつ、与えられたデータとにらめっこしながら一人ひとりが特徴量エンジニアリングを行っていくのです。具体例としては、「年収が高かったとしても家族の人数が多いと家計を支えるのも大変だろうから、(年収)÷(家族人数)を特徴として入力してみよう」や「現職で働いている時間の割合が人生の中で長い人ほど安定していそうだから、(現職の雇用期間)÷(年齢)を特徴として入力してみよう」といったようなものが挙げられます。ここの発想や思考は、やはり千差万別です。

 また、単純に掛けたり割ったりするだけでなく、特徴抽出を高度なアルゴリズムを用いて行ったりもします。例えば下図は、提供された特徴量を、UMAPと呼ばれるアルゴリズムを使って無理やり二次元上に可視化した図です。小さな点がいくつも分布していますが、この点の一つ一つが、ローンの申込情報に対応しています。見てみると一様に分布しておらず、いくつもの島を作って分布していることが分かるかと思います。この島の一つ一つが何か似た特性を持ったローン申し込みの集合となっています。直感的には理解が難しいものですが、このような情報も特徴量として有益なものとなります。

UMAPというアルゴリズムにより二次元上に投影された、ローン申込みの情報。一つ一つの点が、ローン申し込みの情報に対応している。
UMAPというアルゴリズムにより二次元上に投影された、ローン申込みの情報。一つ一つの点が、ローン申し込みの情報に対応している。

 他にも、手法は星の数ほど存在します。このように、特徴抽出の方法一つとっても、何をどのように使うかに個性が現れてくるのです。

 そして、前述でも述べたように個性ある複数の予測モデルを組み合わせることが精度を上げる重要なポイントです。今回、私たちのチームでは一人ひとりのメンバーが、アイデアを共有し合いながらも他メンバーのアイデアに完全に浸ることなく個性を発揮できたことが、上位入賞の要因の一つだったと感じています。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]