機械学習チームにはより優れた特徴エンジニアリング技術が必要

機械学習チームにはより優れた特徴エンジニアリング技術が必要

機械学習向けにデータ機能を最適化する機能エンジニアリングのスキルは、データサイエンスそのものと同じくらい古いものです。しかし、このスキルがますます無視されるようになっていることに気づきました。機械学習の需要の高まりにより、ツールやアルゴリズムの専門知識はあるものの、特徴エンジニアリングに必要な経験や業界固有のドメイン知識が不足しているデータ サイエンティストが多数誕生しました。彼らは、より優れたツールとアルゴリズムでこれを補おうとしています。しかし、アルゴリズムは現在では商品化されており、企業の知的財産を生み出すものではありません。

[[237583]]

汎用データはコモディティ化が進んでおり、Amazon ML や Google AutoML などのクラウドベースの機械学習サービス (MLaaS) により、経験のないチームでもデータモデルを実行して数分で予測を取得できるようになりました。その結果、特徴エンジニアリングによって独自のデータを収集または作成する組織能力を開発する企業が優位になりつつあります。単純なデータ収集とモデル構築だけではもはや十分ではありません。

エンタープライズ チームは、KDD Cup や Legacy Provider Cyber​​Health Award などのモデリング コンテストで優勝したチームから多くのことを学ぶことができます。優勝したチームは、機能エンジニアリングを成功の重要な要素として挙げています。

1. 特徴エンジニアリング技術

特徴エンジニアリングをサポートするために、データ サイエンティストはさまざまな手法を開発してきました。大まかに次のように考えることができます。

1. コンテキスト変換

一連のアプローチの 1 つは、元のセットからの個々の機能を、各特定のモデルにとってより文脈的に意味のある情報に変換することです。

たとえば、カテゴリ特性を扱う場合、「不明」は特定の状況のコンテキストで特別な情報を伝達する場合があります。ただし、モデルでは、それは単なる別のカテゴリ値として表示されます。この場合、チームは「不明」を他のすべてのオプションから分離するために、「has_value」という新しいバイナリ関数を導入する必要があるかもしれません。たとえば、「color」関数では、不明な色のコンテンツに対して「has_color」という入力が許可されます。

もう 1 つのアプローチは、ワンホット エンコーディングを使用してカテゴリ特徴を変数のセットに変換することです。上記の例では、「色」カテゴリを 3 つの特徴(「赤」、「緑」、「青」がそれぞれ 1 つずつ)に変換すると、モデルの目標に応じて、より優れた学習プロセスが可能になります。

機械学習チームは、より優れた洞察を得るために、単一の特徴を複数の特徴に変換する方法としてビニングを使用することもよくあります。たとえば、「年齢」の特徴は、40 歳未満の「若い」、40 ~ 60 歳の「中年」、60 歳以上の「古い」に分割されます。

その他の変換の例は次のとおりです。

変数(例:年齢)の最小値と最大値の間の値を範囲[0,1]にスケーリングします。

各タイプのレストランへの訪問回数を料理の「関心」指標で割る

2. 多機能演算

特徴エンジニアリングのもう 1 つのアプローチは、既存のデータ ポイントのセットに算術式を適用することです。数式では、特性、比率、その他の関係間の相互作用に基づいて導関数を作成できます。

このタイプの機能エンジニアリングは高い価値を提供できますが、モデルの主題と目的を十分に理解している必要があります。

例として、次の式を使用します。

「学校評価」と「犯罪率」の組み合わせから「地域の質」を計算します

訪問者の「実際の支出」と「予想支出」を比較して「カジノの運要素」を決定します

「利用率」はクレジットカードの「残高」を「限度額」で割ることで算出されます。

特定の期間内の最近の取引、取引頻度、および支出額の組み合わせから RFM スコア (最新性、頻度、金額) を取得し、顧客をセグメント化します。

3. 先進技術

チームは、より高度なアルゴリズムアプローチを選択して既存のデータを分析することで、新しい機能を作成する機会を見つけることもできます。

主成分分析(PCA)と独立成分分析(ICA)は、既存のデータを別の特徴空間にマッピングします。

ディープフィーチャーシンセシス(DFS)は、ニューラルネットワークの中間層から中間学習を転送することを可能にする。

2. 成功の枠組みを設定する

チームは、より効率的な機能とモデルを常に探す必要があります。ただし、成功するには、この作業を体系的かつ繰り返し可能なフレームワーク内で実行する必要があります。機能エンジニアリングの取り組みには、次の 6 つの重要なステップがあります。

1. モデルの使用方法を明確にする。まず、モデルの主な目標と使用例を明確にします。チーム全体が同期し、単一の目的を持って作業する必要があります。そうしないと、努力が無駄になり、リソースが無駄になってしまいます。

2. 基準を設定する。高性能モデルを構築するプロセスでは、利用可能なデータの慎重な調査と分析が必要です。しかし、作業計画は現実世界の障害にも適応する必要があります。特性評価プロセスでは、コスト、アクセス可能性、計算上の制限、ストレージの制約、その他の要件などの要因が考慮されます。チームは早い段階でこれらの好みや制限に適応する必要があります。

3. 新しい機能を考案する。問題をより適切に説明し解決するために、新しいデータを作成する方法について幅広く考えます。この時点で、ドメイン知識と主題専門家の関与により、機能エンジニアリングの結果が価値を付加することが保証されます。

4. 入力として要素を構築します。新しい機能コンセプトが特定されたら、利用可能なデータからそれらを構築するための最も効果的な手法を選択します。適切なテクノロジーを選択することが、新機能の有用性を保証する鍵となります。

5. 研究のインパクト。新しい機能がモデルのパフォーマンスに与える影響を評価します。新しい機能の付加価値に関する結論は、モデルのパワーがどのように測定されるかに直接依存します。

モデルのパフォーマンス測定は、意味を持つためにはビジネス測定と関連付けられている必要があります。今日、チームには、精度、再現率、F1 スコア、受信者動作特性 (ROC) 曲線など、正確性をはるかに超えるさまざまな測定オプションがあります。

6. 機能を最適化します。機能エンジニアリングは、新しい機能のテスト、調整、改善を伴う反復的なプロセスです。このプロセスの最適化ループでは、最も影響の大きい機能が特定されるまで、パフォーマンスの低い機能が削除されたり、近いバリアントに置き換えられたりすることがあります。

要約する

機能エンジニアリングは現代社会における新たな錬金術であり、成功したチームは一般的なデータを組織にとって付加価値のある知的財産に変換します。

これを成功させるには、いくつかの重要な原則が役立ちます。

  • プログラムの出発点がビジネス目標とモデルの有効性の関連尺度を明確に理解した上で始まるように、主題に関する専門知識を含める
  • 反復的かつ体系的なプロセスを通じて
  • 利用可能な多くの機能オプションを検討する
  • 特徴選択がモデルのパフォーマンスにどのように影響するかを理解し、監視する
  • データを意味のあるモデルを実現する独自の機能に変換するこの機能により、大きな価値が生まれ、組織の競争上の優位性が確保されます。

<<:  AI STUDIO - AI機能を実現するためのハードルゼロ

>>:  AIによって殺された最初の人々を見てみましょう

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

李開復氏:将来、人間の仕事の半分はAIに奪われるが、失業しない分野は2つだけ

中関村オンラインニュース:李開復氏は先日、未来フォーラムで人工知能をテーマにしたメディアインタビュー...

...

人工知能の分野に参入する際に Python が好まれる言語なのはなぜですか?

実際、すべてのプログラミング言語の中で、Python は新しいお気に入りではありません。最初のバージ...

画像も感情を伝えることができるのでしょうか?ロチェスター大学のチームが新しいコンピュータービジョンのタスクを提案

画像スタイルの転送?声の感情移入?いいえ、それはイメージの感情的な伝達です。コンピュータビジョンの分...

AI開発シンポジウム:機械学習を農家に役立てる方法について議論

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

顔認識訪問者システムの利点は何ですか?

[[373764]]顔認識訪問者システムの利点は何ですか?以前は、訪問者の管理に手書きの登録が使用...

2018 年に最も価値のあるオープンソース機械学習プロジェクト 6 つ

2018 年は人工知能と機械学習にとって「収穫」の年でした。特にヘルスケア、金融、音声認識、拡張現実...

...

強化学習でデータ分析を行うにはどうすればいいでしょうか?シンガポール国立大学等によるTKDE 2022レビュー論文

データの処理と分析は基本的かつ広範囲にわたります。アルゴリズムはデータの処理と分析において重要な役割...

人工知能と機械学習の違いは何ですか?

[[197626]]人工知能は新しい用語ではなく、その開発の歴史は数十年にわたります。それは 19...

ペイ・ジアンのチームの44ページの新作:ディープラーニングモデルの複雑さを理解するには、これを読んでください

最近、ディープラーニング モデルの複雑性に関する最初のレビュー「ディープラーニングのモデルの複雑性:...

LSTM ニューラルネットワークを使用して株価の動向を予測する

[[434750]] Python 中国語コミュニティ (ID: python-china) LST...

プラットフォームの後は、モジュラーシャーシが主流になるのでしょうか?

自動車プラットフォームはどれほど重要ですか?この質問に答える必要はありません。市場で主流の自動車モデ...

GitHub のスター数は 10 万近くに達しています。インド人男性がすべての AI アルゴリズムを Python と Java で実装しました。

[[326676]]今日、アルゴリズムを実装した 2 つのプロジェクトが GitHub のホット ...

ロボットは「職業を変える」、新しいトレンドは新しい機会をもたらす

ドイツ特派員 青木「昨年、北米のロボット受注の大半は初めて自動車工場で受注されなかった」ロイター通信...