機械学習の教科書に出てくる7つの典型的な問題

機械学習の教科書に出てくる7つの典型的な問題

[[201516]]

機械学習について学びたい、または機械学習に専念することを決心した場合、すぐにさまざまな教科書を見つけて自分を元気づけることができます。同時に、それらの本は偉大な達人の生涯にわたる知恵について語っており、正しい行動のガイドであると心の中で想定します。一生懸命勉強すれば、急速に上達することができます。しかし現実には、あなたはすでに回り道をしているかもしれません。

テクノロジーは急速に発展し、データは飛躍的に増加し、環境は飛躍的に変化しているため、教科書が時代の変化に追いつけないことがよくあります。時には、教科書を書いた人でさえ結論の背後にある理由を理解していない場合があり、そのため結論の中には時代遅れのものもあるかもしれません。この問題に応えて、Fourth Paradigm の創設者兼 CEO である Dai Wenyuan 氏は最近、Fourth Paradigm の社内共有セッションで機械学習の教科書に出てくる 7 つの典型的な問題を紹介しました。この記事はスピーチの記録に基づいてまとめられており、若干編集されています。

実際の業務でやるべきことが教科書の結論と矛盾していることに気づくことがあります。そんなとき、私たちはどうしたらいいのでしょうか?教科書の結論は間違っているのでしょうか?実際、そうである場合もあります。そこで今日は、機械学習の教科書に出てくる古典的な問題をいくつか紹介し、皆さんの将来の仕事や勉強に役立つことを願ってみたいと思います。

ニューラルネットワークは3層を超えてはならない

では、なぜ以前の教科書ではニューラル ネットワークは 3 層以上を持つことはできないと書かれていたのでしょうか? それには、ニューラル ネットワークの歴史から始める必要があります。 1950 年代に、マーヴィン・ミンスキーという科学者がいました。彼は生物学者で、数学が得意でした。ニューロンを研究していたとき、数学モデルを使って生物学的ニューロンを説明できるのではないかと考え、パーセプトロンを設計しました。パーセプトロンは神経細胞のようなものです。脳のニューラル ネットワークと同様に、神経細胞のように接続してニューラル ネットワークを形成できます。実際、1960 年代初頭には非常に深いニューラル ネットワークが存在していましたが、当時の多数の実験の結果、3 層以下のニューラル ネットワークがうまく機能することが判明したため、1980 年代頃にはニューラル ネットワークは 3 層を超えてはならないという結論に達しました。

では、なぜこの結論が今覆されたのでしょうか? 実は、この結論には前提条件があり、つまり、データ量が多くない場合は、ニューラル ネットワークは 3 層を超えてはならないということです。 2005 年以降、データ量が増えるにつれてディープ ニューラル ネットワークのパフォーマンスが向上することが発見され、徐々にディープラーニングへと移行しました。実際、ここでの正しい原理は Valiant の補題であり、「モデルの複雑さ (エキスパート システムのルールの数など) はデータの量に比例する」と理解できます。データ量が多くなるほど、モデルは複雑になります。前世紀はデータ量が少なかったため、ニューラル ネットワークの層数をあまり深くすることはできませんでした。現在はデータ量が多いため、ニューラル ネットワークの層数をもっと深くする必要があります。これは、当時の教科書がなぜそのような結論を出していたのかについても説明していますが、現在ではディープラーニングが普及したため、人々はもはやこの記述が正しいとは考えていません。

決定木は 5 層を超えることはできません。

学生が決定木を紹介する教科書を読むと、決定木は剪定する必要があり、決定木を剪定しないと効果は良くないと書かれています。一部の教科書では、決定木は 5 層以上持つことはできず、5 層を超える決定木は効果的ではないと説明されています。この結論はニューラル ネットワークの場合と同じです。ニューラル ネットワークが 3 層以上持つことができない理由は、当時のデータ量が多くなかったためです。決定木が 5 層以上持つことができない理由は、前世紀のデータ量が十分ではなかったためです。バイナリ決定木の深さが N の場合、複雑さはおよそ 2 の N 乗であるため、深さが 5 層を超えない場合、複雑さは 30 をわずかに超える程度です。データ量が 100 万に達すると、決定木の層数は 10 層または 20 層を超える規模になります。データ量が 100 億に達すると、決定木の層数は 30 層を超える場合があります。

現在、私たちはより深い意思決定ツリーを重視していますが、これは教科書の内容と矛盾するかもしれません。矛盾が生じる理由は、シナリオ全体のデータ量が増加したため、より深い意思決定ツリーを構築する必要があったためです。もちろん、すべてのシナリオで大量のデータがあるとは限りません。データ量が少ないシナリオに遭遇した場合は、決定木を浅くする必要があることも知っておく必要があります。基本的に言えば、それはあなたがどれだけのデータを保有しているか、そしてどれだけ複雑なモデルを記述できるかによって決まります。

特徴選択の数は1000を超えることはできません

一部の教科書には、特徴選択について論じた別の章があり、データを取得した後、まず重要でない特徴を削除する必要があると書かれています。一部の教科書では、特徴の数は 1,000 を超えてはならないとさえ書かれており、そうでないとモデルの効果は良くありません。しかし、実はこの結論にも前提条件があります。データ量が少ないと多くの機能を完全にサポートできませんが、データ量が多いと結論は異なります。このため、LogisticRegression を実行するときに、数百の特徴に限定するのではなく、数十億の特徴を使用します。

かつて、SAS などの従来のデータ分析ソフトウェアは 1970 年代に誕生したため、わずか数百の機能しかありませんでした。このソフトウェアが直面した問題は、特定のシナリオで利用できるデータがあまりなく、おそらく数百または数千のサンプルしかないということでした。したがって、システムを設計するときは、数十億の機能ではなく、数百の機能のみを設計する必要があります。これは、数千のサンプルで数十億の機能をサポートすることはできないためです。しかし現在では、データの量が増えるにつれて、機能の数も増やす必要があります。したがって、ビッグデータ環境では、機械学習の教科書全体における特徴選択に関する章は時代遅れであり、新しい形式で書き直す必要があると思います。もちろん、スモールデータのシナリオでは、まだ価値があります。

アンサンブル学習は最高の学習効果を達成する

4つ目はアンサンブル学習と呼ばれるものです。この技術は、さまざまなデータマイニングのコンテストで特に役立ちます。たとえば、近年のKDD CUPの優勝者のほとんどがアンサンブル学習を採用しています。アンサンブル学習とは何でしょうか? 1 つのモデルを作るのではなく、多数の (たとえば 1,000 個の) 異なるモデルを作り、各モデルに投票させ、その投票結果を最終結果とします。このモードは、リソースの制約が問題にならない場合に最適です。 KDDCUP の参加者が全員統合学習法を選択するのはそのためです。最終的な効果を追求するためには、どれだけの投資をしてもかまいません。このような状況では、統合学習法が最善の方法です。

しかし、実際には、企業が機械学習を行う際には、無制限のリソースで可能な限り最高の結果を追い求めるのではなく、限られたリソースをいかに最大限に活用して最高の結果を得るかが求められます。企業にマシンが 2 台しかない場合、2 台のマシンをどのように使用して最良の結果を得ることができますか? 統合学習を使用し、5 つのモデルを 2 台のマシンで実行する場合、2 台のマシンを 5 つの部分に分割する必要があります。各モデルは 0.4 台のマシンでしか実行できないため、実行されるデータの量は制限されます。アプローチを変更し、統合学習の代わりに 1 つのモデルを使用すると、5 倍のデータを実行できます。通常、データ量が 5 倍になると、アンサンブル学習よりも良い結果が得られます。アンサンブル学習は業界ではほとんど使用されません。主な理由は、業界のほとんどのシナリオがリソースに制約があるためです。リソースが限られている場合、最善の方法は、より多くのデータを入力する方法を見つけることです。アンサンブル学習では、より多くのモデルを実行する必要があり、収容できるデータが少ないため、通常は効果が悪くなります。

陽性サンプルと陰性サンプルの両方が1:1でサンプリングされます

5 番目はバランスサンプリングと呼ばれ、ほとんどの教科書に記載されています。これは、モデルをトレーニングする場合、陽性サンプルと陰性サンプルが非常に不均一であることを意味します。たとえば、陽性サンプルと陰性サンプルの比率が 1:100 の場合、陽性サンプルと陰性サンプルのバランスの取れたサンプリングを行って、1:1 の比率にする必要があります。これが最善の方法です。しかし、実際には、この結論は必ずしも正しいわけではありません。統計学習における最も基本的な原則は、トレーニング シナリオとテスト シナリオの分布は同じでなければならないということであるため、この結論は 1 つのシナリオでのみ有効です。つまり、モデルが使用されるシナリオで陽性サンプルと陰性サンプルの比率が 1:1 の場合、この結論は正しいことになります。

正しいアプローチは、アプリケーション シナリオが 1:100 の場合、トレーニング セットも 1:100 にする必要があるということです。バランスのとれたサンプリングは常に正しいとは限りません。ほとんどの場合、サンプリングは正しくありません。ほとんどの場合、トレーニング セットとテスト セットをランダムに直接分割するか、時間に応じて分割するため、2 つの分布は一貫しており、その時点ではサンプリングしないのが最適です。もちろん、ネガティブ サンプル サンプリングのほうが良い結果が得られることもあります。たとえば、Paradigm が合資銀行カード センターの取引不正防止を行っていたとき、ネガティブ サンプル サンプリングを実施しました。これは、すべてのサンプルを入力したときにコンピューティング リソースが足りないことがわかり、サンプリングしか実行できなかったためです。陽性サンプルと陰性サンプルの比率は、およそ 1:1000 または 1:10000 です。陽性サンプルをサンプリングすると、失われる情報の量が比較的大きくなるため、陰性サンプルをサンプリングすることを選択します。たとえば、1:1000 の比率でサンプリングし、その後、陰性サンプルを 1000 の重みで追加します。リソースが限られている場合にそうすることで、情報の損失を最小限に抑えることができます。しかし、バランスを取るためだけにネガティブサンプリングを行うのは、通常は間違いです。前の質問とは異なり、ネガティブ サンプル サンプリングでは、環境の変化によって結論が変わることはありません。実際、ネガティブ サンプル サンプリングは実行すべきではありません。

クロスバリデーションは最良のテスト方法である

次の質問はクロス検証と呼ばれます。これは、データセットをトレーニング セットとテスト セットに分割する場合、そのエラーをどのように評価するかということです。クロス検証では、セットを 5 つの部分に分割し、4 つをトレーニング セット、1 つをテスト セットとして取り、毎回異なるセットをテスト セットとして選択します。最後に、5 つの結果を測定し、平均します。これが最適なテスト方法と考えられています。

クロス検証は確かに優れた検証方法ですが、実際のアプリケーション シナリオでは、最も適切な方法ではないことがよくあります。一般的に言えば、機械学習で行うのは予測です。ほとんどの場合、現在または過去のデータを使用して、将来を予測するモデルを作成します。過去のトレーニングをテストして将来を予測する最良の方法は、クロス検証ではありません。クロス検証は、トランザクションまたは人ごとに分割されるためです。最も適切な方法は、実際には時間で分割することです。たとえば、評価するときに、ある時点を選択し、その時点より前のデータをトレーニングに使用し、その時点以降のデータを予測します。これが、実際のアプリケーション シナリオに最も近い評価結果です。

クロスバリデーションは、顔認識など、時間属性に関係のないシナリオにのみ適用できるかもしれませんが、私たちはより多くの応用シナリオに直面しています。リスク、マーケティング、詐欺防止など、それらはすべて過去のデータでトレーニングした後に未来を予測しています。このようなシナリオに最も適した評価方法は、クロスバリデーションではなく、時間による分割です。

過剰適合は絶対に良くない

最後のものは「オーバーフィッティング」と呼ばれ、これもよく議論されるトピックです。これまでは、モデルが複雑すぎると、PPT の右側に示すように過剰適合になり、図の中央の状態、つまりちょうどよい適合になるのが最善の方法であると言われてきました。図の左側のモデルは、適合不足で、完全にトレーニングされていません。しかし現在、実際のシナリオのほとんどは、過去を利用して未来を予測しています。過剰適合は必ずしも悪いことではありませんが、特定のシナリオによって異なります。シナリオが過去に見られた状況がほとんどで、新しい状況が少ない場合、過剰適合は実際には良いことです。

たとえば、期末試験の問題が通常の宿題である場合、最善の方法は通常の宿題をすべて暗記することであり、これは過剰適合です。期末試験が通常の宿題をテストせず、新しい質問でいっぱいの場合、この時点で通常の宿題を暗記するだけでは不十分で、このコースの知識を完全に理解し、問題を推論して解決するスキルを習得する必要があります。したがって、過剰適合が良いか悪いかは、シナリオによって完全に異なります。アプリケーション シナリオが暗記によって解決できる場合、オーバーフィッティングは実際には良いことです。実際、私たちの設計では過剰適合する傾向があり、新しい質問ではパフォーマンスが低下する可能性がありますが、暗記した質問では非常に良い結果が得られます。過去を利用して未来を予測するアプリケーション シナリオでは、オーバーフィッティングは必ずしも悪いことではありません。実際の状況によって異なります。

今日は教科書に載っている古典的な質問をいくつか紹介しました。実際、実際の産業応用では、教科書に書かれている通りに実践するわけではありません。また、非常に深いモデル、非常に深い決定木、多くの機能、およびある程度のオーバーフィッティングも設計します。バランスのとれたサンプリングではなく、時間による分割を重視します。教科書の結論に直面したとき、私たちが学ぶべきことは、実際のシナリオに基づいて柔軟な判断を下すことです。

<<:  TensorFlow を使用してリカレント ニューラル ネットワークを構築、トレーニング、改善する方法

>>:  ニューラルスタイル転送アルゴリズムで絵を描くことを学習する人間は、芸術分野で人工知能に負けるのでしょうか?

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

推薦する

企業がAIベースのツールを使用して脆弱性を管理する方法

脆弱性の管理は、セキュリティ専門家にとって最優先事項の 1 つです。セキュリティ チームは、サイバー...

携帯電話を使ってドライバーを監視:ドライバーレコーダーもAI技術を活用し始めている

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

新しい展開のアイデア | Minuet: GPU での 3D スパース畳み込みの高速化

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

プログラマーの芸術: ソートアルゴリズムのダンス

1. バブルソート 2. シェルソート 3. 選択ソート 4. 挿入ソート 5. クイックソート 6...

EfficientViT-SAM: 精度を変えずにその場で離陸!

著者らは、高速化された SAM モデル ファミリである EfficientViT-SAM を提案しま...

C# でのジョセフ リング アルゴリズムの簡単な分析

C# アルゴリズムを勉強しているときに、C# ジョセフ リング アルゴリズムに出会いました。ジョセフ...

英国を拠点とするサマドは、eVTOL飛行試験と新型貨物ドローンの開発を進めている。

英国を拠点とするサマド・エアロスペースは、E-スターリングeVTOL機の半分の規模の試作品の開発を進...

...

2021年にITリーダーがAIと機械学習に期待すること

毎年末と翌年の初めに、IT 思想リーダーが翌年のテクノロジー、革新的なサービス、業界の進歩などの開発...

人工知能を活用した高齢者介護サービスについての考察

高齢者介護サービスも人工知能を積極的に取り入れる必要がある。両者を統合し、相互に補強し、高齢者の多様...

人工知能が旅行業界にもたらす変化

観光業界では徐々に人工知能を導入し、観光客にパーソナライズされた体験を提供しています。人工知能の助け...

人工知能の応用範囲は想像を超えています

こんにちは!皆さん、こんにちは。私は大学の科学研究者で、主に人工知能の分野で研究を行っています。今後...

自動運転データの所有権をめぐる戦い

次のようなシナリオを想像してください。 あなたはレベル3の自動運転機能を備えたAudi A8を所有し...

人工知能の第三の冬が来るのか?

人工知能については人々の想像力は尽きることがなく、小説や映画でも長い間最もホットな話題となってきまし...