上のホワイトボードには、一連の機械学習プロジェクトの立ち上げが示されています。 機械学習は幅広い分野をカバーします。この記事では、機械学習が適用可能な典型的な問題の概要と、プロトタイプの機械学習プロジェクトを実装するためのフレームワークについて説明します。 まず、いくつかの定義です。 機械学習、人工知能、データサイエンスの違いは何ですか? これら 3 つのトピックは明確な定義がないため、理解するのがやや困難です。誤解を避けるために質問を簡略化します。この記事で言及されている機械学習は、特定の問題を理解したり将来の出来事を予測したりするために、データ内のパターンを発見することだと考えることができます。 読者の皆さんが次の手順を読みながら、実践して結果をテストして学んでいただければ幸いです。実践しながら学びましょう。 機械学習パイプラインは、データ収集、データモデリング、モデル適用という 3 つの主なステップに分けられます。これら 3 つのステップは相互に影響し合い、密接に関連しています。 プロジェクトを開始すると、次のようなサイクルを繰り返すことになります。データを収集し、モデル化し、収集したデータの品質が低いことが判明し、再度データを収集し、モデルを構築し、モデルを適用し、モデルが機能しないことがわかり、再モデル化し、適用し、新しいモデルがまだ機能しないことがわかり、再度データを収集する… ちょっと待ってください、モデルとは何ですか? アプリケーションとは何ですか? どのようにデータを収集するのですか? いい質問ですね。 データを収集する方法は問題によって異なります。以下にいくつかの例を示します。また、読者はスプレッドシートで顧客の購入記録を確認することもできます。 モデリングとは、収集されたデータから知識を見つけるために機械学習アルゴリズムを使用することです。 通常のアルゴリズムと機械学習アルゴリズムの違いは何ですか? 通常のアルゴリズムはレシピのようなもので、材料をおいしい料理に変える一連の指示です。 機械学習の特別な点は、原材料が指示書ではなく、食材や料理であるという点です。機械学習アルゴリズムは食材と料理を研究し、変換に必要な指示を与えます。 機械学習アルゴリズムにはさまざまな種類があり、アルゴリズムによって問題を解決する際のパフォーマンスは異なりますが、すべて同じ目標、つまりデータ内のパターンや命令セットを見つけることを目指しています。 アプリケーションは、実際のアプリケーションにある命令セットです。アプリケーションは、オンライン ストアで顧客に製品を推奨することから、医療機関向けのより優れた病気検出ソリューションを見つけることまで多岐にわたります。 各ステップの具体的な詳細はプロジェクトごとに異なりますが、原則は基本的に同様です。 この記事ではデータ モデリングに焦点を当てます。読者はすでにデータを収集しており、それを使用して機械学習モデルを構築する準備ができていると想定されています。このプロセスは次のステップに分けられます。 機械学習プロジェクトは、データ収集、モデリング、モデルの適用という 3 つのステップに分けられます。この記事ではモデリング段階に焦点を当てており、読者がすでにデータを持っていることを前提としています。 1. 問題の定義 — 解決すべきビジネス上の問題は何ですか? それを機械学習の問題に変換するにはどうすればよいでしょうか? 2. データ — 機械学習はデータ内のパターンを見つけることなので、そのデータの種類は何か? 問題とどのように関係するのか? データは構造化されているか、非構造化されているか? 静的か動的か? 3. モデル評価 — 成功とはどのような状態を指すのでしょうか? 95% の精度を持つ機械学習モデルは十分でしょうか? 4. 変数 - データのどの部分を使用する必要がありますか? 既知の情報はデータの使用にどのように影響しますか? 5. モデリング — どのモデルを選択するか? それをどう改善するか? 異なるモデルのパフォーマンスをどのように比較するか? 6. 実験 — 他に何を試すことができますか? モデルは期待どおりに動作しますか? 既知の情報は他のステップにどのように影響しますか? 上記の問題については以下で詳しく説明します。 1. 問題の定義 - ビジネス上の問題を機械学習の問題に書き直す 機械学習を適用できるかどうかを判断する最初のステップは、解決するビジネス上の問題を機械学習の問題に変換することです。 教師あり学習、教師なし学習、転移学習、強化学習は、4 つの主要な機械学習手法です (ここでは簡潔にするために半教師あり学習は省略します)。その中で、教師あり学習、教師なし学習、転移学習が商用プロジェクトで最も一般的に使用されています。 教師あり学習
教師なし学習 データはあるがラベルがない機械学習は、教師なし学習と呼ばれます。たとえば、オンラインビデオゲームストアの顧客の支払い記録を考えてみましょう。このデータを使用して顧客をグループにまとめ、パーソナライズされたサービスを提供することもできます。このタスクを実行するには、機械学習アルゴリズムを使用できます。 グループ化を観察した後、クラスラベルが手動で付けられます。あるグループはコンピューター ゲームに興味があるかもしれませんが、他のグループはインディー ゲームを好むかもしれませんし、また他のグループは割引されたゲームだけを購入するかもしれません。このプロセスはクラスタリングと呼ばれます。 アルゴリズムは分類ラベルを提供するのではなく、類似した顧客間のパターンを探すだけであることを覚えておくことが重要です。分類ラベルは、専門家が専門知識を活用して付与する必要があります。 転移学習 転移学習は、既存の機械学習モデルによって発見されたパターンを改善し、それを新しい問題の学習に適用します。 機械学習モデルをゼロからトレーニングすることは、莫大な費用と時間の無駄になる可能性があります。幸いなことに、必ずしも自分でモデルを構築する必要はないのです。機械学習アルゴリズムは、ある種類のデータから別の種類のデータに適用できるパターンを見つけることがあります。 たとえば、自動車保険会社は、保険申請者が事故の責任を負う必要があるかどうかを判断するためのテキスト分類モデルを構築したいと考えています。 Wikipedia を読み込んで単語間のパターン (どの単語が一緒に出現する可能性が高いかなど) を記憶した既存のモデルを使用できます。保険アプリケーション (データ) とその結果 (クラス ラベル) を使用してモデルを微調整し、それを問題に適用します。 商用プロジェクトで使用される機械学習技術は、上記の 3 つのカテゴリに分類される可能性があります。 次に、分類、回帰、推奨にさらに細分化します。
これを念頭に置いて、次のステップは、ビジネス上の問題を機械学習の用語で説明することです。 先ほどの自動車保険の例を使ってみましょう。保険会社の従業員は毎日何千もの申請書を読み、申請者が事故の責任を負うべきかどうかを判断する必要があります。 しかし、現在では申請件数が徐々にスタッフの処理能力を超えつつあります。同社には何千もの申請記録があり、それぞれに申請者が事故の責任を負っているかどうかが示されている。 機械学習は役に立ちますか? 読者はおそらくすでに答えを知っているでしょう。しかし、とにかく検証してみましょう。この問題は、上記の 3 つのカテゴリ (分類、回帰、クラスタリング) のいずれかに該当しますか? 問題をもう一度述べてください。 自動車保険会社は、受け取った保険申込書を、申込者が責任を負うものと、申込者が責任を負わないものの 2 つのカテゴリに分類したいと考えています。 「カテゴリー」というキーワードを見ましたか? 分析結果は、これが潜在的な機械学習分類問題である可能性があることを示しています。 「潜在的に」というのは、機械学習ではこの問題を解決できない可能性があるからです。 ビジネス上の問題を機械学習の問題に変換するときは、最も単純なものから最も複雑なものへと変換するようにしてください。最初は、1 文を超える問題の説明は冗長です。必要に応じて問題を複雑にします。 2. データ — それはどのような種類のデータですか? 問題とどのように関連していますか? 保有しているデータや収集する必要があるデータは、解決しようとしている問題によって異なります。 既存のデータは、構造化データまたは非構造化データである可能性があります。これら 2 種類のデータは、静的データと動的データに分けられます。
これらの 4 つのデータ カテゴリは互いに重複する可能性があります。 構造化された情報の静的テーブルには、継続的に更新されるテキストや写真も含まれる場合があります。 心臓病を予測するために使用されるデータ テーブルには、性別、平均心拍数、平均血圧、胸痛の重症度などが含まれる場合があります。 保険申請の例では、送信されたテキスト、写真、そして申請の結果という 3 つのデータが存在する可能性があります。新しいアプリケーションが入力されたり、古いアプリケーションに変更が加えられたりするたびに、表は継続的に更新されます。 2 つの異なるタイプの構造化データ。表 1.0 には数値データとカテゴリデータの両方が含まれています。表 2.0 には、画像や自然言語テキストなどの非構造化データが構造化された形式で含まれています。 2 つの異なるタイプの構造化データ。表 1.0 には数値データとカテゴリデータの両方が含まれています。表 2.0 には、画像や自然言語テキストなどの非構造化データが構造化された形式で含まれています。 データの種類はさまざまですが、データを使用して知識を得たりイベントを予測したりすることが原則です。 教師あり学習では、特徴変数を使用してターゲット変数を予測します。心臓病を予測するには、性別を特徴変数として使用する必要があり、ターゲット変数は患者が心臓病を患っているかどうかである可能性があります。 表 1.0 は、ID 列 (黄色の部分、機械学習モデルの構築には使用されません)、特徴変数 (オレンジ色の部分)、ターゲット変数 (緑色) に分かれています。機械学習モデルは特徴変数のパターンを識別し、それを使用してターゲット変数を予測します。 教師なし学習にはクラスラベルはありませんが、それでもパターンを発見する必要があります。これは、類似のサンプルを 1 つのカテゴリにグループ化し、外れ値を識別することを意味します。 転移学習は、どこか別の場所から取得した機械学習アルゴリズムを変更する点を除いて、教師あり学習と同じ問題を解決します。 顧客データを活用してビジネス モデルやサービス品質を向上させる場合は、必ず顧客にその情報を伝えるようにしてください。そのため、あらゆる場所で「このサイトは Cookie を使用しています」という通知が表示されます。これらのサイトはユーザーの閲覧習慣を研究し、機械学習を使用してサービスを改善します。 3. 評価 — 成功する機械学習モデルとはどのように定義しますか? 95% の精度で十分でしょうか? ビジネス上の問題は機械学習の問題に変換されており、データはすでに利用可能です。次に、モデルが成功したかどうかを判断する方法を検討します。 分類、回帰、推奨の問題の評価基準は異なります。基準の選択は問題の種類によって異なります。 このプロジェクトが成功するには、モデルの精度が少なくとも 95% 必要でした。 保険申請の責任者が誰であるかを分析するには、95% の精度を持つモデルを使用すれば十分すぎるかもしれません。しかし、心臓病の検査にはより正確な結果が必要になる場合があります。 分類問題で考慮すべきその他の事項を以下に示します。
回帰問題(数値予測に関するもの)では、予測結果と実際の値の間の誤差を減らす必要があります。住宅の販売価格を予測する場合、モデルの予測が実際の価格に近いほど良い結果が得られます。このエラーを測定するには、MAE または RMSE を使用します。
大きな誤差をより重要視したい場合は、RMSE を基準として使用します。たとえば、20 万ドルと予測されていた住宅の実際の価格は 30 万ドルだった場合、10 万ドルの差は 5 万ドルの差の 2 倍以上悪いことになります。 100,000 の差が 50,000 の差の 2 倍悪い場合は、MAE を使用します。 推奨の問題に対するソリューションのテストは困難です。 1 つの方法は、モデリング時に一部のデータを非表示にすることです。モデリングが完了すると、この部分のデータの推奨結果が予測され、実際の結果との相関関係が観察されます。 例えば、オンラインストアの商品を顧客に推奨する場合、2010年から2019年までの購入記録がわかっています。 2010 年から 2018 年までのデータを使用してモデルを構築し、そのモデルを使用して 2019 年の状況を予測できます。これにより、問題は分類問題に変わります。目標は、人が特定の商品を購入する可能性があるかどうかを判断することになるからです。 しかし、従来の分類方法は推奨問題に対する最適な解決策ではありません。精度と再現率の間にレベルの区別はありません。 機械学習モデルが 10 個の製品を推奨する場合、顧客のニーズに最も合った製品をページの最初に表示したいと思いませんか?
特徴 — データの特徴は何ですか? どの特徴を使用してモデルを構築できますか? データは異なります。特徴とは、データセット内のさまざまな種類のデータを指します。 特徴は主にカテゴリ型、連続型(数値型)、派生型に分けられます。
テキスト、画像、何でも機能として使用できます。機械学習アルゴリズムでモデルを構築するために、あらゆる特徴を使用するには、まず数値に変換する必要があります。 機能に関する注意事項をいくつか示します。
特性を利用するだけで基本的な基準を確立できます。顧客離脱の専門家は、3 週間ログインしていない顧客がメンバーシップをキャンセルする可能性が 80% あることを知っているかもしれません。 あるいは、不動産業者は、寝室が 5 つ以上、バスルームが 5 つ以上ある家は 50 万ドル以上で売れることを知っているかもしれません。 これらの基準は簡略化されており、正確である必要はありません。しかし、それらを使用して機械学習モデルを改善することはできます。 5. モデリング — どのモデルを選択すればよいでしょうか? モデルを改善するにはどうすればよいでしょうか? 異なるモデルを比較するにはどうすればよいでしょうか? 問題を定義し、データ、評価基準、機能を決定したら、モデリングを開始できます。 モデリングは、モデルの選択、モデルの改善、モデルの比較という 3 つの部分に分かれています。 モデルを選択 モデルを選択する際には、可読性、保守性、データ量、トレーニングと予測の制限を考慮する必要があります。
まず、問題を単純化します。芸術作品のようなモデルは魅力的です。しかし、2% のパフォーマンス向上に 10 倍のコンピューティング リソースと 5 倍の時間が必要になる場合は、改善を行わない方がよいかもしれません。 一般的に、ロジスティック回帰などの線形モデルは、ニューラル ネットワークなどの深層モデルよりも理解しやすく、トレーニングや予測も高速です。 しかし、現実世界で得られるデータは必ずしも線形ではありません。 それで何をすればいいのでしょうか? 決定木アンサンブルと勾配ブースティング アルゴリズムは、Excel シートやデータ フレームなどの構造化データで最も効果的に機能します。 Random Forest、XGBoost、CatBoost アルゴリズムについて学びます。 ニューラル ネットワークなどのディープラーニング モデルは、画像、オーディオ ファイル、自然言語テキストで動作します。トレードオフとしては、トレーニングと予測に時間がかかり、デバッグが難しくなるという点です。しかし、だからといって使用すべきではないということではありません。 転移学習は、ディープラーニング モデルと線形モデルの利点を組み合わせたものです。事前にトレーニングされたディープラーニング モデルを使用し、認識したパターンを線形モデルに入力します。これにより、トレーニング時間が大幅に節約されます。 事前トレーニング済みのモデルはどこにありますか? 事前トレーニング済みのモデルは、PyTorch hub、TensorFlow hub、model zoo、fast.ai framework などの Web サイトで見つけることができます。 他の種類のモデルについてはどうでしょうか? プロトタイプを構築するときに、機械学習モデルを自分で構築する必要はありません。モデルコードは先人たちによって残されています。 重要なのは、入力と出力を処理し、それを既存のモデルに適合させることです。これは、モデルとクラスのラベルを厳密に定義し、解決する必要がある問題を理解することを意味します。 まず、主なタスクは、入力 (データ) が既存のモデルと一致することを確認することです。次のステップは、出力が問題の定義と評価基準を満たしていることを確認することです。 モデルを微調整して改善する モデルの初期結果が全てではありません。機械学習モデルは、自動車と同じように調整および改善できます。 モデルを微調整するには、学習率やオプティマイザーの調整など、ハイパーパラメータを変更する必要があります。または、ランダム フォレスト内のツリーの数やニューラル ネットワーク内のレイヤーの数など、特定のモデルの構築におけるその他の要素。 かつては手作業だったこの調整プロセスは、今では自動化されつつあり、広く普及するでしょう。 転移学習を通じて事前トレーニング済みモデルを呼び出すと、前の手順の利点を組み合わせることができます。 モデルをデバッグするときは、再現性と効率性を優先する必要があります。他の人もあなたの手順を再現してモデルを改善できるはずです。主な目標は新しいアイデアを考案することではなくトレーニング時間を短縮することであるため、デバッグ プロセスは効率重視である必要があります。 比較モデル リンゴとリンゴを比較してください。 データXを使用してモデル1をトレーニングし、データYを使用して評価します。 データXを使用してモデル2をトレーニングし、データYを使用して評価します。 異なるモデルをトレーニングおよび評価するには、同じデータを使用する必要があります。モデル 1 と 2 は変数ですが、データ X と Y は変数ではありません。 6. 実験 — 他に何を試すことができますか? 調査結果は他のステップにどのように影響しますか? モデルは期待どおりに動作しますか? このステップには他のすべてのステップが含まれます。機械学習は高度に反復的なプロセスであるため、実験が実行可能であることを確認することが重要です。 主な目標は、オフライン実験とオンライン実験の間の時間差を最小限に抑えることです。 オフライン実験は、プロジェクトがユーザーに公開される前に行われます。オンライン実験は、機械学習モデルが大量生産され始めた後に行われます。 各実験ではデータの異なる部分を使用する必要があります。
これらのデータセットのデータ量は、問題とデータの種類によって若干異なる場合があります。 モデルがトレーニング セットでパフォーマンスが低い場合は、十分に学習されていないことを意味します。解決策としては、さまざまなモデルを試したり、既存のモデルを改善したり、より高品質なデータを収集したりすることです。 モデルがテスト セットでうまく機能しない場合は、一般化がうまく行われていないことを意味します。モデルが過剰適合している可能性があります。より単純なモデルを使用するか、より多くのデータを収集します。 モデルが実際のデータに対してパフォーマンスが低い場合、実際のデータとトレーニング セットおよびデータセットの間に大きな差があることを意味します。前の 2 つの手順を繰り返します。データが解決しようとしている問題に適合していることを確認します。 大幅な変更を試みる場合は、変更内容とその理由を文書化します。モデルの微調整と同様に、将来の自分も含め、誰もがあなたの行動を繰り返すことができる必要があることを覚えておいてください。 つまり、最新のモデルとデータセットを定期的に保存する必要があります。 上記の手順を組み合わせてプロジェクトのプロトタイプを作成します 多くの企業は機械学習について多少は知っていますが、どのように始めればよいかはわかりません。上記の 6 つのステップを通じて概念モデルを作成するのが最適です。 こうした試みの目的は、業務運営モデルを根本的に変えることではなく、機械学習を活用して企業にビジネス価値を付加する可能性を探ることです。 結局のところ、目標は派手なトレンドを追うことではなく、本当に価値のあるソリューションに到達することです。 プロジェクトのプロトタイプを作成する期限を設定します。2 週間、6 週間、12 週間が適切です。高品質のデータがあれば、優れた機械学習およびデータ サイエンスの専門家は、短期間で最終的なモデリング結果の 80% ~ 90% を達成できます。 業界の専門家、機械学習エンジニア、データサイエンティストが協力する必要があります。そうしないと、間違ったオブジェクトに対して優れたモデルが作成されることになり、非常に悪い結果になります。 可能であれば、機械学習の実験に役立てるために、Web デザイナーにオンライン ストアのレイアウトを改善するように伝えます。 プロジェクトがまだ初期段階であるため、あなたのビジネスは機械学習から利益を得ることができない可能性があります。プロジェクトマネージャーはこれを認識する必要があります。機械学習エンジニアやデータサイエンティストも、自分たちの努力が無駄になることを覚悟しておく必要があります。 しかし、利益が出ないからといってすべてが失われるわけではありません。 役に立たないモデルにも価値があり、そこから何が役に立たないかを学び、他のことにエネルギーを費やすことができます。これが実験が時間制限されている理由です。時間は決して十分ではありませんが、DDL は生産性を高めます。 機械学習モデルのパフォーマンスが良好であれば次のステップに進み、そうでない場合は前のステップに戻ります。ただ想像するよりも、実際にやってみるほうがはるかに早く学べます。 知らせ データが核です。高品質なデータがなければ、どんな機械学習モデルも無駄になります。機械学習の適用は、高品質なデータの収集から始める必要があります。 アプリはすべてを変えます。オフラインでうまく機能するモデルが、オンラインではうまく機能しない可能性があります。この記事ではデータ モデリングに焦点を当てます。モデルが使用されると、アーキテクチャ管理、データ検証、モデルの再トレーニング、分析など、多くの問題に直面することになります。クラウド サービス プロバイダーはこれらのサービスを提供しますが、それらを組み合わせるのは依然として難解です。あなたが上司なら、データエンジニアに高い給料を支払ってください。データ エンジニアの場合は、自分の知識を上司と共有してください。 データの収集とモデルの適用は、機械学習パイプラインの中で最も長く続く部分です。この記事ではモデリングについてのみ説明しますが、データの前処理の詳細については省略します。 ビジネスツールは多岐にわたります。機械学習は、多くの小さなツールで構成された大きなツールです。コード ベースやフレームワークからさまざまなアプリケーション アーキテクチャまで。あらゆる問題にはさまざまな解決策があります。最適な実装方法は常に進化しています。しかし、この記事で議論されているトピックは、ほとんど同じままです。 |
<<: データが少なすぎる場合はどうすればいいですか?履歴書トレーニングのための新しいツール、自己教師学習を試してみましょう
>>: 上海で一人っ子を亡くした母親が、AIを使って14歳の娘を「蘇らせた」...
AI はこれらの分野で大きな進歩を遂げており、世界がネットゼロの未来を目指す中でのエネルギー効率と持...
6月9日、「新AI、新企業サービス、新旅」Wofeng Technologyブランドアップグレードメ...
ディープラーニングディープフェイクの危険性: 2024 年には、特に仮想顧客サービス環境において、消...
サイバーセキュリティのスキル不足は、政府を含むさまざまな地域、市場、セクターの組織に引き続き影響を及...
Tinygrad は、ニューラル ネットワークを理解して実装するためのシンプルで直感的なアプローチ...
近年、人工知能技術の成熟に伴い、顔認識の応用範囲はますます広がっています。 「顔スキャン」は、効率、...
データ注釈は、ディープラーニングプロセスにおいて常に基本的かつ重要な役割を果たしてきました。高品質な...
企業は AI ツールを使用して、顧客ロイヤルティにプラスの影響を与え、利益を増やすことができる会話型...
1. 大規模マルチエージェント意思決定モデルの課題現実世界における多くの実際的な問題は、複数のエージ...