Blog-JP

解説:機械学習のための特徴量設計

特徴量設計とは?

例えば、機械学習を応用した顧客の解約予測や製品需要予測など、ビジネス上の複雑な問題に取り組んでいるとしましょう。重要なビジネス上の課題に対して、何から取り組み始めればよいでしょうか?まずは、機械学習モデルを訓練するために適切なデータを準備します。そして、適切なアルゴリズムを用いてモデルを学習します。アルゴリズムは、ビジネス目標(定量的な業務価値)、分析課題(回帰または分類)、データの性質、精度と解釈性のトレードオフ、その他の制約(計算リソース、トレーニング時間、待機時間)により適切に設計する必要があります。また、ロジスティック回帰、決定木、ブースティング、ニューラルネットワークなど、どの機械学習手法を使うにしても、基本的な前提条件として課題と相関のある仮説や過去データのパターンを機械学習の入力データとして準備する「特徴量設計」という工程が必要です。機械学習の手法がAI活用の鍵であると思われがちですが、多くの場合、特徴量設計が機械学習の成否を決めます。

特徴量設計は、ドメイン知識に基づいて業務のために蓄積されたローデータから機械学習に入力できる「一枚表」を作成するプロセスです。課題に対して適切な特徴量を設計するためには、業務知見、データ加工、数学・統計など、さまざまなスキルが必要になります。これは、異なるデータベースに分散して蓄積された多数のテーブルから、統計変換や関係演算を使用して、結合、集約、結合され、単一のフラットなテーブルになります。

機械学習に入力する一枚表

実用的な特徴量設計は、ワンホット・エンコーディングのような単純な変換よりもはるかに複雑です。特徴量を設計するためには、通常多数のクエリを実装し、多くのデータ操作と変換を実行する必要があります。

 

特徴量設計の重要性

機械学習アルゴリズムの結果は、入力データに左右されます。過去のデータに関する知見があれば、何らかのパターンを見つけ、そこから仮説を立てることができます。そして、さまざまな仮説を組み合わせることで、特定の期間にどの顧客が解約する可能性が高いかなど、将来を予測することができます。特徴量設計とは、機械学習の入力として最適な仮説の組み合わせを見つける工程といえます。間違った仮説を与えてしまうと、機械学習は正確な予測をすることができません。従って、機械学習モデルの作成にとって、適切な特徴量の設計が必要不可欠です。特徴量の品質は、機械学習モデルの精度と解釈性の両面で非常に重要です。
特徴量設計は、機械学習プロセスの中で、最も繰り返し作業が多く、時間とリソースを必要とするプロセスであり、複数の専門分野の知識を必要とします。技術的な専門知識も必要ですが、より重要なのはドメイン知識です。データサイエンスチームは、ドメインの専門家と協力して仮説を検証し、機械学習モデルを構築して評価し、その結果が業務適用できるようになるまでこのプロセスを繰り返すことで、特徴量を構築します。

 

特徴量設計の自動化

特徴量設計の自動化は、従来のデータサイエンスプロセスを大きく変える可能性を秘めています。スキルの障壁を大幅に下げ、手作業による何百、何千ものSQLクエリ実装作業を排除し、完全なドメイン知識がなかったとしても、素早くデータサイエンスプロジェクトを回すことができます。また、数百万もの特徴の仮説をわずか数時間で探索し、これまで気づかなかったデータに隠された知見を発見し、データから得られるビジネスの洞察を強化します

最近、機械学習の自動化(AutoML)が注目を集めています。AutoMLは、AIや機械学習のプロジェクトには数ヶ月以上もの期間がかかり、またAIや機械学習に通じた人材が圧倒的に不足しているという課題を解決できる可能性を秘めています。AutoMLは、間違いなくAIと機械学習のプロセスを加速する上で大きな前進を遂げていますが、多くのAutoMLは、機械学習の最も重要なステップである、ローデータから機械学習の入力を準備する特徴量設計には対応していません。

企業のAIや機械学習活用に真の変化を生み出すためには、データサイエンスの開発サイクル全体を自動化する必要があります。データサイエンスの自動化の中核にある問題が、データサイエンティスト不足、ビジネスユーザーの機械学習に対する理解不足、本番環境への移行の難しさに起因するものだとすれば、AutoMLはこれらの課題に対するソリューションであるべきです。

データ加工と特徴量設計を自動化するAutoML 2.0は、単一のプラットフォーム上で、特徴量設計と機械学習のパイプラインを合わせて自動化します。AutoML 2.0を使用すると、ローデータからデータ加工および特徴量設計、機械学習モデルの開発までの全工程を数ヶ月ではなく数日で行うことができ、チームは10倍以上のプロジェクトを実行することができます。


まとめ

一般的な考えとは異なり、アルゴリズムそのものは機械学習のビジネス適用において大きな差別化要素にはなりません。特徴量設計は、データに隠されたパターンを明らかにし、機械学習の予測力と精度を高めます。機械学習アルゴリズムがうまく機能するためには、アルゴリズムが処理することができる形で、適切な入力データを準備する必要があります。多くの場合、ローデータに対して複雑な変換を行う必要があります。特徴量設計は、その入力データを機械学習用に最適化された一枚表にまとめあげ、これがAI / 機械学習を実施する際の「秘密のレシピ」です。金融サービスにおける不正行為の防止、製造業における異常検知、保険会社における顧客離反予測など、AI / 機械学習の成否を左右する最も決定的な要因は、特徴量設計にあります。