機械学習とビジネスを組み合わせる上で最も重要なことは何でしょうか?

機械学習とビジネスを組み合わせる上で最も重要なことは何でしょうか?

純粋に学術的な目的で機械学習モデルを構築することと、製造、金融サービス、小売、エンターテインメント、ヘルスケアなどの企業にエンドツーエンドのデータ サイエンス ソリューションを提供することとの間には大きな違いがあります。

機械学習に関して企業が直面する最も一般的な問題は何でしょうか? 機械学習モデルのトレーニング以外に何ができるでしょうか? データを準備するにはどうすればよいでしょうか? データセットを拡張するにはどうすればよいでしょうか? 特徴エンジニアリングがそれほど重要な理由は何でしょうか? モデルを本番環境に導入し、完全に実行可能なシステムにするにはどうすればよいでしょうか? すべてのデータ サイエンス ツールをオープン ソース ソフトウェアから入手できる場合、データ サイエンス プラットフォームの存在に意味はあるのでしょうか?

この記事では、上記の質問のいくつかに答え、機械学習で現在直面している課題と困難を明らかにし、さらに特定の業界の事例を通じて最適なソリューションを提案します。

[[271442]]

機械学習は単なるモデルのトレーニングではない

多くのデータ サイエンティストの間では、機械学習に関して依然として誤解が広がっています。

「特定の特性を持つデータセットが与えられ、変数の 1 つを推測する必要がある場合、どうしますか?」

多くのデータ サイエンティストは次のように答えるでしょう。

「データセットをトレーニングとテストの部分に分割し、ロジスティック回帰、ランダムフォレスト、SVM、ディープラーニング、XGBoost プログラムを実行します。その後、精度、再現率、F1 スコアを計算し、最後に最適なモデルを選択します。」

しかし、いくつかの問題は見落とされてきました。

「このプロセス中にデータ自体を見ましたか?いくつかの値を見逃していたらどうしますか?間違った値や不良データを取得した場合はどうなるでしょうか?カテゴリ変数はどのように設定しましたか?特徴エンジニアリングはどのように行いましたか?」

この記事では、データ収集、データキュレーション、データ探索、特徴抽出、モデルトレーニング、評価、デプロイメントなど、エンドツーエンドの機械学習システムを正常に作成するために必要な 7 つのステップを紹介します。

データをください!

[[271443]]

データ サイエンティストにとって、主なリソースは明らかにデータです。しかし、データ収集自体が難しい場合もあります。データ サイエンス チームは、適切なデータセットを取得するために数週間、場合によっては数か月を費やすこともあります。困難には次のようなものがあります:

  • アクセス: 多くの企業データは機密性が高く、特に政府、医療、金融に関連するデータはそうです。データセットを共有するには、秘密保持契約に署名するのが標準的な手順です。
  • データの断片化: 組織内のさまざまな部門にデータが分散しているのが一般的です。全体のデータを取得するには、すべての部門の同意が必要です。
  • 専門家のアドバイス: データにアクセスできるだけでは十分ではないことがよくあります。取得されるデータが多すぎるため、巨大なデータベースから適切なデータ セットを選択できるようにチームを導くドメイン エキスパートが必要です。専門家がコアビジネス業務にすでに圧倒されているため、専門家の不在がプロジェクトのボトルネックになる場合があります。
  • プライバシー: 難読化と匿名化は 2 つの別々の研究分野となり、機密データを扱う場合に特に重要になります。
  • ラベル: 実際の事実やラベルを知っておくと、チームが監視可能なさまざまな学習アルゴリズムを適用できるようになるため、役立つことがよくあります。ただし、法的な制限により、ラベル付けデータの取得に費用がかかったり、チームが取得できない場合もあります。このような場合には、データ クラスタリングなどの監視不可能なソリューションを適用できます。
  • データ ジェネレーター: データまたはラベルが利用できない場合は、それらをシミュレートできます。データの構造についてある程度理解しておくと、データ ジェネレーターを使用するときに役立ちます。数値変数の確率分布や名目変数のカテゴリ分布を理解しておくことも役立ちます。データ構造がかなり分散している場合は、タグ付けされた画像が多数ある Tumblr プラットフォームを使用できます。さらに、Twitter では大量のフリーテキストが提供されており、Kaggle では特定の分野や業界に関連したデータセットやソリューションが用意されています。

ビッグデータはビッグではない

過去 10 年間、ビッグ データ ベンダーはビッグ データの規模と機能に対する需要を積極的に推進し、強調してきました。これがビッグ データブームのきっかけとなりました。そのため、「ビッグデータはビッグではない」という見解は、より大きな論争を引き起こしました。ただし、生データ (現在の問題に役立たないデータを含む) と特徴セット (機械学習アルゴリズムの入力マトリックス) を明確に区別する必要があります。生データを特徴セットに処理するプロセスはデータ処理と呼ばれ、次の手順が含まれます。

  • 無効/不完全/ダーティなデータを破棄します。私たちの経験では、このタイプのデータは全データの最大半分を占める可能性があります。
  • データの結合やグループごとの集計などの操作を含む、1 つ以上のデータセットを集計します。
  • 特徴の選択/抽出。たとえば、一意の識別子などの潜在的に無関係な特徴を削除したり、主成分分析などの他の次元削減手法を適用したりできます。
  • ゼロ値が多数含まれるデータセットのメモリ使用量を削減するには、スパース データ表現または特徴ハッシュを使用します。

[[271444]]

データ準備が完了した後、最終的な特徴セット (機械学習モデルへの入力) が最初のものよりはるかに小さくなることは珍しくありません。もう 1 つの一般的な状況は、R や scikit-learn などのインメモリ フレームワークでモデルをトレーニングするのに十分であるということです。機能セットが依然として非常に大きい場合は、アルゴリズムの選択は制限されますが、Apache Spark などのビッグデータ ツールを使用できます。

汚いデータです!

汚いデータはよくある

もちろん、人々はまだ知らないことを学びたいと思っていますが、これは非常に重要です。つまり、汚れたデータはよくあることです。企業間の協力において、多くの顧客は、データ レイクがいかに素晴らしいか、そこからどれだけ多くの洞察を引き出せるかなど、自社のデータ レイク構築に誇りを持っていることがよくあります。そこで、データ サイエンティストとして、私たちは次のようなことを頭の中で思い描いています。

[[271445]]

しかし、クライアントが実際のデータを提示すると、次のようになりました。

[[271446]]

この場合、すべてのデータキュレーション変換プロセスをすべての生データに対して完了する必要があるため、Apache Spark などの大規模なフレームワークが特に重要になります。以下に、典型的な規制事例をいくつか示します。

  • 異常検出: 負の年齢、浮動小数点の郵便番号、ゼロ値のクレジット スコアはすべて無効なデータです。これらの値を修正しないと、モデルのトレーニング時に大きなバイアスが生じます。
  • 欠損値/エラーの埋め合わせ: 明らかに、エラー値/欠損値を処理する最も一般的な方法は、それらをドロップすることです。もう一つのオプションはパディングです。たとえば、欠損値や不正確な値を、対応する特徴量の平均値、中央値、または最頻値に置き換えます。もう 1 つのアプローチは補間です。つまり、欠損値がある場合に特徴を予測するモデルを構築します。さらに、ドメイン知識も記入に活用できます。たとえば、患者データを処理するとき、特徴の 1 つは、患者が癌に罹患しているかどうかを推測することです。この情報が欠落している場合は、患者の診察データを参照して、患者が腫瘍専門医の診察を受けたことがあるかどうかを判断できます。
  • ダミーエンコーディングと特徴ハッシュ: これら 2 つの方法は、特に係数ベースのアルゴリズムにおいて、カテゴリデータを数値に変換するのに非常に効果的です。たとえば、機能の 1 つは州名で、米国の州の名前 (FL、CA、AZ など) を表示します。 FL を 1、CA を 2、AZ を 3 とコード化すると、秩序感と重みが表現されます。つまり、AZ は FL よりも大きくなり、CA は FL の 2 倍の大きさになります。ワンホット エンコーディング (ダミー エンコーディングとも呼ばれます) は、カテゴリ列を複数の二重列にマッピングし、そのうちの 1 つにカテゴリ値を格納することでソリューションを提供します。
  • 正規化: 異なるレベルの特徴がある場合、相関係数を持つアルゴリズムは偏ります。たとえば、年齢は [0, 100] の範囲の年数で表されますが、給与は [0, 100, 000] の範囲のドルで表されます。最適化アルゴリズムは、給与の絶対値が大きいという理由だけで、給与に重点を置く場合があります。したがって、正規化アルゴリズムや、Z スコア推定、標準化 (データが正規の場合)、最小最大特徴正規化などの他の一般的な方法の方が推奨されます。
  • ビニング: 実数値の列を異なるカテゴリにマッピングすることは、回帰問題を分類問題に変換する場合など、非常に効果的です。飛行機の到着が何分遅れるかを推定したいとします。 1 つの選択肢は、フライトが早く到着するか、時間通りに到着するか、遅れて到着するかを推測し、各カテゴリの値の範囲を決定することです。

特徴エンジニアリングはどこにでもある

[[271447]]

つまり、特徴とは、機械学習アルゴリズムが学習する必要がある特性のことです。当然のことですが、ノイズの多いデータや無関係なデータはモデルの品質に影響を与える可能性があるため、優れた機能を持つことが重要です。特徴エンジニアリングで使用できる戦略をいくつか紹介します。

  • 何を予測するかを決定します。各インスタンスは何を表していますか? 顧客ですか? トランザクションですか? 患者ですか? チケットですか? 機能セットの各行が 1 つのインスタンスに対応していることを確認してください。
  • 一意の識別子は避けてください。これらはほとんどの場合機能しないだけでなく、特に XGBoost のようなアルゴリズムを使用する場合は、深刻な過剰適合につながる可能性もあります。
  • ドメイン知識を使用して、成功/失敗の測定に役立つ新しい機能を導き出します。病院への通院回数から医療リスクを推測したり、先月の国際取引総数から詐欺の可能性を推測したり、ローン申請額と年収の比率から信用リスクを推測したりすることができます。
  • 自然言語処理技術を使用して、散在するフリーテキストから特徴を導き出します。たとえば、LDA、TF-IDF、word2vec、doc2vec などです。
  • 特徴の数が多い場合は、主成分分析や t 分布ドメイン埋め込みアルゴリズムなどの次元削減手法を使用できます。

異常検出はどこにでもある

[[271448]]

企業における機械学習の最も一般的なユースケースの 1 つを選ぶとすれば、それは異常検出です。不正検出、生産テスト、顧客離れ、医療リスク、顧客債務不履行、システムクラッシュ予測などを研究している場合でも、常に疑問になるのは、「干し草の山から針を見つけられるか」ということです。これは、不均衡なデータセットに関連する別のトピックにつながります。

異常検出のための一般的なアルゴリズムをいくつか紹介します。

  • オートエンコーダ
  • 1 クラス サポート ベクター マシンなどの 1 クラス分類アルゴリズム。
  • 信頼区間
  • クラスタリング
  • オーバーサンプリングとアンダーサンプリングを使用した分類
  • 不均衡なデータはよくある

不均衡なデータ

[[271449]]

ラベル付けされたクレジットカード取引のデータセットがあるとします。取引の0.1%は虚偽の情報であり、残りの99.9%は通常の取引です。決して誤った取引を行わないモデルを作成したらどうなるでしょうか? このモデルは 99.9% の確率で正しい答えを出すので、99.9% の精度になります。このよくある精度に関する誤りは、精度や再現率などのさまざまな指標を考慮することで回避できます。これらは、真陽性 (TP)、真陰性 (TN)、偽陽性 (FP)、偽陰性 (FN) などの用語で表されます。

  • 真陽性 = 陽性であると正しく推測されたすべてのインスタンス
  • 真陰性 = すべてのインスタンスが正しく陰性であると推測される
  • 偽陽性 = すべてのインスタンスが誤って陽性と推定される
  • 偽陰性 = 誤って陰性と推論されたすべてのインスタンス

異常検出の典型的なケースでは、偽陰性(偽の取引を無視する、欠陥のあるチップを無視する、患者を健康として扱うなど)を最小限に抑えながら、偽陽性のインスタンスを大量に発生させないようにします。

  • 精度 = 真陽性 / (真陽性 + 偽陽性)
  • 再現率 = 真陽性 / (真陽性 + 偽陰性)

精度は偽陽性を助長せず、再現率は偽陰性を助長しないことに注意してください。誤った情報を推測しないモデルは再現率がゼロで、精度は不明です。対照的に、常に誤った情報を推測するモデルは、再現率が 100% で、精度が非常に低くなります。これは、多数の誤検知例が存在するためです。

異常検出に受信者動作特性曲線 (FPR) を使用することは強く推奨されません。 FPR の基礎となる偽陽性率は、データセット内の陰性のインスタンスの数 (偽陽性 + 真陰性など) に大きく依存するため、偽陽性のインスタンスの数が多い場合でも FPR は小さくなる可能性があります。

受信者動作特性曲線 = 偽陽性 / (偽陽性 + 真陰性)

対照的に、False Discovery Rate (FDR) は、異常検出モデルに対する誤検出インスタンスの影響をよりよく理解するのに役立ちます。

誤検出率 = 1 - 精度 = 誤検出数/(真検出数 + 誤検出数)

予測するのはやめて、理由を説明してください。

ほとんどの機械学習アルゴリズムは因果関係ではなく相関関係に基づいているため、一部のプロジェクトではリアルタイムの予測モデルを作成することを目的とせず、仮説を説明したり、特定の動作を説明できる要因を分析したりすることを目指しています。以下にいくつか例を挙げます。

  • 患者のリスクを高める要因は何ですか?
  • 血液検査の結果に最も大きな影響を与える薬は何ですか?
  • どの保険計画パラメータ値が利益を最大化できるか?
  • 不正な顧客の特徴は何ですか?
  • 解約した顧客のプロフィールはどのようなものですか?

この種の問題に対処する 1 つの方法は、ランダム フォレスト、決定木、XGBoot などのアルゴリズムから取得できる特徴の重要度を計算することです。さらに、LIME や SHAP などのアルゴリズムは、ニューラル ネットワークやその他の「ブラック ボックス」モデルから生成されたものであっても、モデルや予測を説明するのに役立ちます。

ハイパーパラメータの調整

機械学習アルゴリズムには、パラメーターとハイパーパラメーターの 2 種類のパラメーターがあります。違いは、前者はアルゴリズムによって直接推定される(回帰の係数やニューラル ネットワークの重みなど)のに対し、後者は推定されず、フォレスト内のツリーの総数、ニューラル ネットワークの正規化方法、サポート ベクター マシンのカーネル関数など、ユーザーが手動で設定する必要があることです。

機械学習モデルに正しいハイパーパラメータ値を設定することは非常に重要です。たとえば、サポート ベクター マシンの線形カーネルは、線形に分離できないデータを分類できません。たとえば、最大深度と分割数が高すぎると、ツリー分類器が過剰適合する可能性があります。一方、最大特徴数が低すぎると、適切に適合しない可能性があります。

ハイパーパラメータの最適値を見つけることは、非常に複雑な最適化問題です。ここにいくつかの提案があります:

  • ハイパーパラメータの優先順位を理解します。森林では、おそらく最も関連性の高いパラメータは木の数と最大深度です。しかし、ディープラーニングの場合、優先されるのはおそらく学習率とレイヤーの数でしょう。
  • グリッド検索とランダム検索などの検索テクニックを使用します。後者が優先されます。
  • クロス検証を使用します。別のテスト グループを設定し、残りのデータを k レイヤーに分割して k 回反復し、各レイヤーを検証 (ハイパーパラメータの調整など) して、残りのレイヤーをトレーニングします。最後に、すべてのレイヤーの平均品質メトリックが計算されます。

ディープラーニングは万能薬か?

ここ数年、ディープラーニングは学術研究と産業発展の焦点となってきました。 TensorFlow、Keras、Caffe などのフレームワークを使用すると、高レベルのアプリケーション プログラミング インターフェイス (API) を通じて複雑なニューラル ネットワークを迅速に適用できます。アプリケーションは無数にあり、コンピューター ビジョン、チャットボット、自動運転車、機械翻訳、さらにはゲームまで含まれており、世界トップの囲碁とチェスのコンピューター プレイヤーの両方に勝つことができます。

ディープラーニングの最も重要な前提条件の一つは、データが増加しても学習を継続できることであり、これはビッグデータ時代に特に有効です(下図参照)。この継続的な学習能力と、グラフィック プロセッサなどのハードウェアの最近の進歩を組み合わせることで、大規模なディープラーニング ジョブの実行が可能になります。過去には、リソースの制約により、これは厳しく禁止されていました。

では、ディープラーニングはすべての機械学習の問題に対する万能薬であるということでしょうか? 実際にはそうではありません。理由は次のとおりです。

  • シンプルさ: ニューラル ネットワーク モデルの結果は、その構造とハイパーパラメータに大きく依存します。ほとんどの場合、モデルを正しく調整するには、ネットワーク構築に関する専門知識が必要です。さらに、この点では試行錯誤のステップも非常に重要です。
  • 解釈可能性: 前述のように、現実世界の多くのケースでは、予測を行うだけでなく、予測の背後にある理由を説明することも必要です。ローン申請が拒否されたのはなぜですか? 保険料が上がったのはなぜですか? ツリーベースおよび係数ベースのアルゴリズムは説明できますが、ニューラル ネットワークは説明できません。
  • 品質: 経験上、ほとんどの構造化データセットの場合、ニューラル ネットワーク モデルの品質は必ずしも RandomForests や XGBoot よりも優れているわけではありません。ディープラーニングの利点は、散在したデータ(画像、テキスト、音声など)の場合により顕著になります。結論: ハエを撃つためにショットガンを使用しないでください。 RandomForests や XGBoot などの機械学習アルゴリズムは、ほとんどの構造化され監視可能な問題に十分であり、これらのアルゴリズムは調整、適用、説明も簡単です。散在データ問題と強化学習におけるディープラーニングの役割は自明です。

データを漏らさない

フライトの到着遅延を予測するプロジェクトに取り組んでいたこのモデルは、データセット内の利用可能なすべての機能を使用することで 99% の精度を達成することができました。しかし、出発の遅延時間を使用して到着の遅延時間を推定している可能性があることに気付いていただけると幸いです。これはデータ漏洩の典型的な事例です。予測時に利用できない、または不明な特徴を使用すると、データ漏洩が発生します。皆さん気をつけて!

オープンソース ソフトウェアですべてを見つけることができる場合、プラットフォームの意味は何でしょうか?

機械学習モデルの構築は、今日ほど簡単になったことはありません。モデルを構築するには、数行の R または Python コードで十分です。また、複雑なニューラル ネットワークを構築するためのリソースやコースもインターネット上に多数あります。現在、Apache Spark はデータの準備に非常に役立ち、大規模なデータセットを正規化することもできます。さらに、Docker や Plumber などのツールを使用すると、ハイパーテキスト転送プロトコル (HTTP) を介した機械学習モデルの展開が簡素化されます。オープンソース プラットフォームのリソースに完全に依存することで、エンドツーエンドの機械学習システムを構築できるようです。

概念実証としては、そうなのかもしれません。大学生は卒業論文を完成させるためにオープンソース コードに完全に依存することができます。しかし、企業にとって物事はそれほど単純ではありません。

結局のところ、オープンソース ソフトウェアにも多くの欠陥があります。企業がビッグデータ サイエンス プラットフォームを選択する理由はいくつかあります。

  • オープン リソース統合: 数分以内に起動して実行でき、複数の環境をサポートし、バージョン更新情報が透過的に表示されます。
  • チームコラボレーション: データセット、データ接続、コード、モデル、環境、デプロイメントを簡単に共有できます。
  • ガバナンスとセキュリティ: データだけでなく、すべての分析資産を管理します。
  • モデルの管理、展開、保守
  • モデルのバイアス: 性別や年齢のバイアスのあるモデルを検出して修正します。
  • 支援データ管理: ビジュアル ツールを使用してデータ サイエンスにおける最も困難な問題を解決します。
  • グラフィックス プロセッシング ユニット: TensorFlow などのディープラーニング フレームワークを迅速に展開および構成して、最適なパフォーマンスを実現します。
  • コード不要のモデリング: コーディング方法は知らないが、視覚的なモデルを構築したい統計学者、プロジェクト エキスパート、マネージャー向けに設計されています。

<<:  入社1年目のアルゴリズムエンジニアから新人への手紙

>>:  このロボットはアリよりも小さく、電気なしで動くことができる

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

推薦する

ジェネレーティブ AI がデジタル変革の優先事項に与える影響

2024 年に向けて、CIO は生成型 AI の可能性とリスクを考慮してデジタル アジェンダを再構築...

...

Appleは、生成AIをiPhone上でローカルに実行できるようにするために、より多くの人材を採用している。

8月6日、今年初めから、生成型人工知能への熱狂がテクノロジー業界全体を席巻しているというニュースが...

OpenAIに勝る完璧な埋め込みモデルであるNomic Embedが、重み、データ、コードがすべてオープンソースで利用可能になりました。

1週間前、OpenAIはユーザーに特典を配布しました。GPT-4が怠惰になる問題を修正した後、より...

...

...

復旦大学などがAnyGPTをリリース:画像、音楽、テキスト、音声をサポートする任意のモーダル入出力

最近、OpenAIのビデオ生成モデルSoraが人気を集めており、生成AIモデルのマルチモーダル機能が...

AIシステムのセキュリティテストのための自動化ツール

高度なサイバー攻撃が増加していることから、サイバーセキュリティは今日マイクロソフトにとって最優先事項...

変化が起こっています!機械学習は人類をどこへ導くのでしょうか?

[[187530]]人工知能 (AI) がどのように未来を予測し、職場を変え、さらには雇用を生み出...

人工知能は科学研究に革命を起こす力を持っている

人工知能 (AI) は、コンピューター サイエンス、数学、心理学、言語学などの分野が関わる学際的な分...

独自の顔ぼかしツールを構築する方法

OpenCVを使用して顔認識をカスタマイズする方法[[412851]]匿名化とは、データを匿名化する...

プログラマーの 95% が決して使用しない「アルゴリズム」を勉強する必要はないのでしょうか?

私はほぼ 10 年間コードを書いてきましたが、挿入ソートや赤黒木を書いたことはなく、再帰を使用したこ...

李菲菲の「具現化された知能」はどこまで進歩したのか?

2009年、当時プリンストン大学に勤務していたコンピューター科学者のフェイフェイ・リー氏が、人工知...

アイデンティティ管理における人工知能の脅威

Cyber​​Ark の 2023 年アイデンティティ セキュリティ脅威ランドスケープ レポートでは...