機械学習プロジェクトに十分なデータがありませんか?ここに5つの良い解決策があります

機械学習プロジェクトに十分なデータがありませんか?ここに5つの良い解決策があります

人工知能プロジェクトに着手する企業の多くは素晴らしいビジネスアイデアを持っていますが、企業の AI チームが十分なデータがないことに気がつくと、徐々にイライラし始めます... しかし、この問題には解決策があります。 この記事では、著者が実践して効果が実証されたいくつかの方法を簡単に紹介します。

データはあらゆる AI プロジェクトの中核を成すものであり、データセットのサイズはプロジェクトのパフォーマンスに影響を与える重要な要素となることが多いため、データ不足の問題は非常に重要です。多くの場合、優れた人工知能プロジェクトを作成できない主な理由は、データ関連の問題です。

[[269526]]

教師あり機械学習モデルは、さまざまなビジネス上の課題に対処するために広く使用されています。ただし、これらのモデルには大量のデータが必要であり、そのパフォーマンスはトレーニング データの量にも大きく依存します。しかし多くの場合、AI チームは十分な大きさのトレーニング データセットを作成するのが困難です。

もう 1 つの問題は、プロジェクト アナリストが一般的なビジネス問題に対処するために必要なデータの量を過小評価する可能性があることです。大企業で働く場合、データの収集はより複雑になります。

どれくらいのデータが必要ですか?

多くの場合、モデルの自由度の約 10 倍のデータが必要になります。モデルが複雑になるほど、過剰適合が発生しやすくなりますが、これはモデルの検証によって回避できます。 ただし、ユースケースによっては、必要なデータを削減できます。

欠損値の問題にどのように対処するかについても議論する必要があります。特に、データ内の欠損値の数が十分に大きい場合(5% 以上)はそうです。

欠損値の処理は、「成功」のためのいくつかの確立された基準に依存することに言及する価値があります。さらに、これらの基準はデータセットによって異なり、認識、セグメンテーション、予測、分類(同じデータセットの場合)などのアプリケーションによっても異なります。

選択するソリューションは、時系列分析、ML、回帰など、問題の種類によって異なります。

予測技術に関しては、欠損値が完全にランダムに観測されず、これらの欠損値を補完するために選択された変数がそれと何らかの関係がある場合にのみ使用する必要があります。そうでない場合、不正確な推定値が生成されます。

一般的に言えば、欠損値を決定するためにさまざまな機械学習アルゴリズムを使用できます。欠損値をラベル自体に変換し、欠損値のない列を使用して欠損値のある列を予測することができます。

私の経験では、AI ベースのソリューションを構築すると決めた場合、ある時点でデータ不足や欠落データの問題に直面することになりますが、幸いなことに、この「マイナス」を「プラス」に変える方法はたくさんあります。

データが見つかりませんか?

前述のように、AI プロジェクトに必要な最小限のデータ量を正確に見積もることは不可能であり、プロジェクト自体が必要なデータの量に大きな影響を与えます。たとえば、テキスト、画像、ビデオでは通常、より多くのデータが必要になります。ただし、正確な見積もりを行うには、他の多くの要素を考慮する必要があります。

  • 予測するカテゴリの数

モデルの予想される出力は何ですか? 基本的に、数値やカテゴリが少ないほど良いです。

  • モデルのパフォーマンス

プロジェクトを本番環境に導入する予定がある場合は、さらに多くのリソースが必要になります。 概念実証には小さなデータセットで十分かもしれませんが、本番環境ではさらに多くのデータが必要になります。

一般的に、データセットが小さい場合、モデルがデータに過剰適合するのを避けるために、複雑性の低い(またはバイアスの高い)モデルが必要です。

非技術的なソリューション

技術的な解決策を検討する前に、データセットを強化する方法を分析しましょう。馬鹿げているように聞こえるかもしれませんが、AI プロジェクトを開始する前に、外部ツールと内部ツールを開発して、できるだけ多くのデータを収集する必要があります。機械学習アルゴリズムが実行することが予想されるタスクがわかっている場合は、事前にデータ収集メカニズムを作成できます。

ML プロジェクトを開始するときに、オープン ソース データを活用することもできます。ウェブ上には ML に利用できるデータが大量に存在しますが、それを所有する企業はそれを捨てる準備ができています。

プロジェクトに外部データが必要な場合は、他の組織と提携して関連データを取得すると役立つ場合があります。パートナーシップを形成するには当然時間がかかりますが、得られる独自のデータにより、自然に競争上の優位性が得られます。

役に立つアプリケーションを構築する。アプリケーションは気にせず、データだけを使う

以前のプロジェクトで使用したもう 1 つのアプローチは、顧客にクラウド アプリケーションへのアクセスを提供し、アプリケーションに入力されるデータを使用して機械学習モデルを構築するというものです。私の以前のクライアントが病院向けのアプリケーションを構築し、無料で利用できるようにしました。私たちは大量のデータを収集し、ML ソリューション用の独自のデータセットを作成することができました。

  • 小規模データセット

私の経験によると、小さなデータセットを使用して予測モデルを構築するための一般的な方法は次のとおりです。

一般的に、機械学習アルゴリズムが単純であればあるほど、小さなデータセットからの学習に適しています。 ML の観点から見ると、データが少ない場合は、モデルがデータに過剰適合するのを避けるために、複雑性の低い (またはバイアスの高い) モデルが必要です。ナイーブ ベイズ アルゴリズムは最も単純な分類器の 1 つであるため、比較的小規模なデータセットからでも非常にうまく学習します。

他の線形モデルや決定木を利用することもできます。実際、小規模なデータセットでも比較的良好なパフォーマンスを発揮します。基本的に、単純なモデルは、より複雑なモデル (ニューラル ネットワーク) よりも小さなデータセットからより効率的に学習できます。これは、単純なモデルは本質的に学習量が少ないためです。

非常に小さなデータセットの場合、結果は事前選択に左右される可能性がありますが、ベイズ法は多くの場合最適です。著者は、ナイーブベイズ分類器とリッジ回帰が最良の予測モデルであると考えています。

データセットが小さい場合は、パラメータ数が少ない (複雑性が低い) モデルや、事前確率が強いモデルが必要になります。 「事前確率」は、データがどのように動作するかについての仮定として解釈することもできます。

ビジネス上の問題の正確な性質とデータ セットのサイズに応じて、他にも多くのソリューションが存在します。

転移学習

定義: 機械学習モデルを構築するときに、既存の関連データまたはモデルを活用するためのフレームワーク。

転移学習では、学習したタスクから得た知識を使用して関連タスクのパフォーマンスを向上させ、多くの場合、必要なトレーニング データの量が削減されます。

転移学習技術は、別のデータセットまたは既存の機械学習モデル (ソース ドメインと呼ばれる) から得た知識を使用して、モデルが新しいドメインまたはタスク (ターゲット ドメイン) で予測を行えるため便利です。

十分なターゲット トレーニング データがなく、ソース ドメインとターゲット ドメインに類似点はあるが同一ではない場合は、転移学習手法の使用を検討する必要があります。

モデルや異なるデータセットを単純に集約するだけでは、必ずしも効果的であるとは限りません。既存のデータセットがターゲット データと大きく異なる場合、新しく学習したモデルは既存のデータやモデルによって悪影響を受ける可能性があります。

転移学習は、知識を推測するために使用できる他のデータセットがある場合には非常に有効ですが、データがまったくない場合はどうなるでしょうか? このような場合に、データ生成が非常に役立ちます。このアプローチは、利用可能なデータがない場合、または集約によって収集できる量よりも多くのデータを作成する必要がある場合に使用できます。

簡単に言えば、このアプローチでは、モデルをトレーニングするために、既存のデータを少し変更してそのデータのバリエーションを作成する必要があります。たとえば、車の画像を切り取って縮小することで、より多くの車の画像を生成できます。

高品質のラベル付きデータの不足も、データ サイエンス チームが直面する最大の課題の 1 つです。データ不足の問題は、転移学習やデータ生成などの技術を使用することで、ある程度克服できます。

転移学習のもう 1 つの一般的な用途は、コールド スタート問題を克服するために、顧客間データセットでモデルをトレーニングすることです。多くの SaaS 企業が、新規顧客を ML 製品にオンボーディングする際に、この問題に対処しなければならないことがよくあることに気づきました。実際には、新しい顧客から十分なデータが収集され、良好なモデル パフォーマンスが達成されるまで (数か月かかる場合があります)、有効な価値を提供することは困難です。

データ拡張

データ拡張とは、データポイントの数を増やすことを意味します。私の最初のプロジェクトでは、データ拡張技術を使用してデータセット内の画像の数を増やしました。従来の行/列形式のデータの場合、これは行またはオブジェクトの数を増やすことを意味します。

時間と正確さという 2 つの理由から、データ拡張に頼るしかありません。すべてのデータ収集プロセスにはコストが伴い、コストには金銭、人的資源、コンピューティング リソース、そしてもちろんプロセスに費やされる時間などが含まれます。

したがって、既存のデータを拡張して、ML 分類器に供給するデータのサイズを増やし、さらなるデータ収集によって発生するコストを補う必要があります。

データを拡張する方法はたくさんあります。車の画像の例をもう一度使用すると、元の画像を回転させたり、照明条件を変更したり、さまざまな方法でトリミングしたりできます。したがって、1 つの画像に対して、異なるサブサンプルを生成できます。 この方法により、分類器の過剰適合を減らすことができます。

ただし、SMOTE などのオーバーサンプリング手法を使用して人工データを生成すると、過剰適合を引き起こす可能性が高くなります。

AI ソリューションを開発する際には、この点を考慮する必要があります。

合成データ

合成データとは、「本物」のデータと同じパターンと統計特性を含む偽のデータのことです。基本的に、データは非常にリアルに見えるため、偽物だと見分けるのはほとんど困難です。

では、合成データの目的は何でしょうか? すでに実際のデータにアクセスできるのに、なぜ合成データを作成するのでしょうか?

場合によっては、特に個人データ(銀行、医療など)を扱う場合、合成データを使用する方が実際にはより安全な開発アプローチとなります。

合成データは主に、実データが十分でない場合、または特定のモデルに実データが十分でない場合などに使用されます。使用方法は、トレーニング データセットとテスト データセットの両方で基本的に同じです。

合成少数オーバーサンプリング手法 (SMOTE) と修正 SMOTE は、合成データを生成する 2 つの手法です。簡単に言うと、SMOTE は少数クラスのデータ ポイントを取得し、直線で接続された任意の 2 つの最も近いデータ ポイントの間にある新しいデータ ポイントを作成します。

このアルゴリズムは、特徴空間内の 2 つのデータ ポイント間の距離を計算し、その距離に 0 ~ 1 の乱数を掛けて、距離計算に使用されたデータ ポイントの 1 つからの新しい距離に新しいデータ ポイントを配置します。

合成データを生成するには、検証が必要なトレーニング セットを使用してモデルを定義し、その後、対象のパラメーターを変更してシミュレーションを通じて合成データを生成できます。ドメイン/データのタイプは、プロセス全体の複雑さに影響するため、非常に重要です。

私の意見では、AI プロジェクトを開始するときに十分なデータがあるかどうかを自問すると、これまで気付かなかった問題が明らかになることがあります。これにより、ビジネス プロセスだと思っていた問題が明らかになり、この問題がビジネスで成功するデータ戦略を作成するための鍵となる理由を理解できるようになります。

<<:  Baidu Create 2019 Baidu AI 開発者カンファレンス Li Yanhong の素晴らしい名言

>>:  IoTとAIがスマートホームにもたらす効果

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

推薦する

人工知能の将来の展望と動向は何でしょうか?

AlphaGo の人間と機械の戦いから、自動運転車のロードトリップ、AI 合成アンカーの採用まで、...

Redis Chat (1): ナレッジグラフの構築

シナリオ: Redis インタビュー[[264477]] (インターネットからの写真)面接官: あな...

「幻獣パル」が大ヒット、大手企業も黙っていられない。このゲームはAIが設計?

最近、多くのソーシャル ネットワーキング プラットフォームに、オープン ワールド サバイバル ゲーム...

2021年中間レビュー: AIの浮き沈み、希望の頂点から失望の谷まで

[[408503]] 1. 2021 年上半期に AI でどのような新たなブレークスルーが達成されま...

...

GPT-4ではMITでコンピュータサイエンスの学位を取得できない

ある研究者が、MITのコンピューターサイエンスの学位の宿題や試験問題を解くことができると主張するチャ...

タイムトラベルが現実になる?人間はワームホールを通じて「時空の端」に到達できるかもしれないし、量子AIは機械に意識を与えるだろう

[[436484]]タイムトラベルは本当に可能なのでしょうか?新たな研究によれば、今から数千年後には...

人工知能が「骨董品鑑定」の分野に参入、人間の職業に再び影響が及ぶか?

データの「食料」が増え続け、入手が容易になるにつれ、現在の人工知能は機械学習、言語処理、対話機能にお...

AIとインフラストラクチャのゲームチェンジャーが市場で成熟しつつあります。

機械学習が「人間レベル」の能力に到達するには、多くのトレーニング反復とラベル付きデータが必要です。こ...

清華大学のJiTuアップデート:微分可能レンダリングをサポートし、マルチタスク速度はPyTorchを上回る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ゲーム開発における機械学習の活用

機械学習のメリット機械学習は多くの分野で驚異的な進歩を遂げてきました。応用分野の観点から見ると、機械...

...

...

...