機械学習とニューラルネットワーク - ページ 60

 

講義 16.3 — ハイパーパラメータのベイズ最適化



講義 16.3 — ハイパーパラメータのベイズ最適化 [機械学習のためのニューラル ネットワーク]

このビデオでは、ニューラル ネットワークのハイパーパラメーターを決定する方法の問題に取り組んだ最近の研究について説明します。この研究で紹介されているアプローチでは、異なるタイプの機械学習を利用して、ハイパーパラメーターの適切な値の選択を支援します。この方法では、ハイパーパラメータ設定を手動で調整する代わりに、機械学習を使用してプロセスを自動化します。この手法は、滑らかな関数のモデル化に効果的なガウス プロセスに依存しています。ガウス プロセスは従来、音声や視覚などのタスクには不適切であると考えられていましたが、事前知識が限られており、同様の入力から同様の出力が得られる傾向にある分野には適しています。

隠れユニットの数、層、重みペナルティ、ドロップアウトの使用などのハイパーパラメータは、ニューラル ネットワークのパフォーマンスにおいて重要な役割を果たします。ハイパーパラメータの適切な組み合わせを見つけることは、特に空間を手動で探索する場合には困難な場合があります。ガウス プロセスはデータの傾向を特定することに優れており、適切なハイパーパラメータのセットを効果的に特定できます。ハイパーパラメータの値が正しくないとネットワークが無効になる可能性があるため、多くの研究者はハイパーパラメータを正しく設定することが難しいため、ニューラル ネットワークの使用を躊躇しています。一般的なアプローチであるグリッド検索では、考えられるすべての組み合わせを徹底的に試す必要がありますが、ハイパーパラメーターが多数ある場合にはこれは不可能になります。

ただし、より効率的な方法には、ハイパーパラメータの組み合わせをランダムにサンプリングすることが含まれます。そうすることで、冗長な実験が回避され、重大な影響を与えるハイパーパラメータにより多くの注意が払われます。ただし、ランダムな組み合わせには限界があり、そこで機械学習が活躍します。機械学習を活用することで、大学院生がハイパーパラメータ値を選択するプロセスをシミュレートできます。ランダムな組み合わせに依存するのではなく、これまでに得られた結果を調べて、どの組み合わせが良い結果を生み出す可能性が高いかを予測します。この予測では、好ましい結果が得られると予想されるハイパーパラメータ空間の領域を決定する必要があります。

予測モデルを構築するには、単一のハイパーパラメータ設定を評価するのに、大規模なデータセットで大規模なニューラル ネットワークをトレーニングするなど、数日かかる場合があるなど、大量の計算リソースが必要であると想定しています。一方、以前の実験に基づいてハイパーパラメータ設定のパフォーマンスを予測するモデルを構築することは、計算量が少なくなります。ガウス過程モデルは、同様の入力が同様の出力につながると仮定しており、このような予測に適しています。これらのモデルは、各入力次元の類似性を測定するための適切なスケールを学習し、類似したハイパーパラメーター値と類似していないハイパーパラメーター値を識別できるようにします。

さらに、ガウス過程モデルは、実験の予想される結果を予測するだけでなく、分散を含む予測の分布も提供します。以前の設定と類似した新しいハイパーパラメータ設定のパフォーマンスを予測する場合、モデルの予測は正確で、分散が低くなります。逆に、ハイパーパラメータ設定が以前の実験と大幅に異なる場合、予測の分散は大きくなります。

ガウス プロセスを使用して次のハイパーパラメータ設定を決定する戦略には、これまでに観察された最良の設定よりも大幅な改善が見込まれる設定を選択することが含まれます。得られた最適な設定が置き換えられるわけではないため、不適切な結果が発生するリスクは許容されます。この戦略はヘッジファンドマネージャーが使用するアプローチに似ており、重大なマイナス面がないためリスクを取る大きなインセンティブを持っています。この戦略に従うことで、次にどのハイパーパラメータ設定を調査するかについて情報に基づいた決定を下すことができます。

このポリシーを適用すると、複数の実験を並行して実行できるため、プロセスがより効率的になります。人間にとって、数多くの実験の結果を追跡し、その結果を正確に予測することは困難です。ただし、ガウス プロセス モデルはデータの傾向とパターンを検出できるため、このタスクを効果的に処理できます。最後に、ガウス過程モデルは人間と比べてバイアスがかかりにくいです。研究を行うとき、研究者は多くの場合、確立された手法よりも新しい手法に適したハイパーパラメータ設定を見つけることに多くの労力を費やす傾向があります。ガウス プロセス モデルを使用すると、評価対象のすべてのモデルに対して同等に適切なハイパーパラメータ セットが検索されるため、このバイアスが排除されます。結論として、ガウス プロセス モデルは、ニューラル ネットワークのハイパーパラメーターを決定するための強力かつ効率的なアプローチを提供します。ガウス プロセスの予測機能を活用することで、ハイパーパラメーター値を選択するプロセスを自動化し、手動による探索や推測の必要性を軽減できます。

グリッド検索などの従来の方法は、多数のハイパーパラメータを扱う場合には実用的ではない場合があります。ハイパーパラメータの組み合わせをランダムにサンプリングすることはより効率的なアプローチですが、それでも制限があります。機械学習を組み込むことで、人間の研究者の意思決定プロセスをシミュレートし、どのハイパーパラメータの組み合わせが良い結果を生み出す可能性が高いかについて、より多くの情報に基づいた予測を行うことができます。ガウス プロセス モデルは、このタスクに特に適しています。データの傾向を特定することに優れており、ハイパーパラメータ設定とパフォーマンス結果の関係を効果的にモデル化できます。これらのモデルは、新しいハイパーパラメーター設定の予想されるパフォーマンスを予測するだけでなく、不確実性の尺度を含む予測の分布も提供します。これにより、予測の信頼性を評価し、より多くの情報に基づいた意思決定を行うことができます。

ガウス プロセスを使用する戦略には、これまでに観察された最良の設定よりも大幅な改善が期待できるハイパーパラメータ設定を選択することが含まれます。計算されたリスクを考慮し、以前の実験とは大きく異なる設定を検討することで、さらに優れた構成を発見できる可能性があります。さらに、ガウス プロセス モデルは複数の実験を並行して処理できるため、プロセスがより効率的になります。データ内の傾向とパターンを検出できるため、さまざまなハイパーパラメーター設定を同時に調査できます。ガウス プロセスを使用するもう 1 つの利点は、バイアスを最小限に抑えることができることです。研究者は多くの場合、確立された方法と比較して、新しい方法に適したハイパーパラメータ設定を見つけることに多くの労力を費やします。ガウス プロセス モデルは、評価対象のすべてのモデルにわたって最適なハイパーパラメーター セットを均等に検索することで、このバイアスを排除します。

ガウス プロセス モデルは、ニューラル ネットワークのハイパーパラメーターを決定するための強力かつ効率的なアプローチを提供します。予測機能を活用することで、プロセスを自動化し、どのハイパーパラメーター設定を調査するかについて、より多くの情報に基づいた決定を下すことができます。このアプローチにより、手動探索への依存が軽減され、ニューラル ネットワーク研究におけるハイパーパラメータ調整の効率と有効性が向上します。

Lecture 16.3 — Bayesian optimization of hyper-parameters [Neural Networks for Machine Learning]
Lecture 16.3 — Bayesian optimization of hyper-parameters [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

講義 16.4 — 進歩の霧



講義 16.4 — 進歩の霧 [機械学習のためのニューラル ネットワーク]

この最後のビデオでは、ニューラル ネットワークの研究の将来について予測したくなりました。しかし、なぜ長期予測を試みることが極めて愚かであるのかを説明したいと思います。この点を説明するために、たとえ話をします。

夜間に車を運転していて、前の車のテールライトに焦点を当てていると想像してください。これらのテールライトから受け取る光子の数は、空気が澄んでいると仮定すると、距離の逆二乗 (1/d^2) に応じて減少します。ただし、霧がある場合は動作が変わります。短距離では、その範囲では霧があまり光を吸収しないため、フォトンの数は依然として 1/d^2 に減少します。しかし、霧には指数関数的な効果があるため、距離が長くなると減少は指数関数 (e^(-d)) に従います。単位距離あたりの光子の一部を吸収し、距離が増加するにつれて不透明になります。これは、短距離モデルが見えると予測した距離では、前の車が完全に見えなくなる可能性があることを意味します。この現象は、霧の中で人が車の後部に乗り込むことによって引き起こされる事故の原因となります。

同様に、機械学習やニューラル ネットワークなどのテクノロジーの発展は、通常、指数関数的に行われます。短期的には、進歩は比較的ゆっくりであり、予測可能であるように見えます。次期 iPhone モデルの機能など、近い将来について合理的な推測を行うことができます。しかし、さらに長期的な将来に目を向けると、霧と同じように、私たちの予測能力は壁にぶつかります。指数関数的な進歩は予期せぬ変革をもたらす可能性があるため、30 年後に何が起こるかはまったくわかりません。

したがって、機械学習とニューラル ネットワークの長期的な将来はまったくの謎のままです。私たちの現在の知識に基づいてそれを予測することはできません。ただし、短期的には、たとえば 3 年から 10 年程度であれば、かなり正確な予測を行うことができます。今後 5 年ほどで、大規模なディープ ニューラル ネットワークが注目すべき成果を達成し続けることは明らかだと思われます。

この場を借りて、最後までこのコースを最後までやり遂げた皆さんに敬意を表したいと思います。楽しんでいただけたでしょうか。最終テストでの幸運を祈っています。

Lecture 16.4 — The fog of progress [Neural Networks for Machine Learning]
Lecture 16.4 — The fog of progress [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

ディープ ラーニングとニューラル ネットワークのフレンドリーな入門書



ディープ ラーニングとニューラル ネットワークのフレンドリーな入門書

ディープラーニングの入門へようこそ!私は Luis Serrano です。Udacity で働いています。 「機械学習とは何ですか?」という質問に答えることから始めましょう。

それを説明するために、簡単な例を考えてみましょう。人間とケーキがあり、私たちの目標は人間にケーキを持ってくるように指示することであると想像してください。 「ケーキを取りに行って」という 1 つの指示を与えるだけで、これを簡単に行うことができます。人間は理解してケーキを受け取ります。では、同じ問題をロボットで解決してみましょう。ロボットに一連の指示を与える必要があるため、これはそれほど単純ではありません。たとえば、「右に曲がって 10 歩進み、左に曲がって 4 歩進み、それからケーキを取りに行きます。」この解決策は、この特定のシナリオに固有のものであり、一般化することはできません。ロボットが異なる位置にある場合は、まったく異なる一連の命令が必要になります。

この問題をより一般的な方法で解決するには、機械学習を使用できます。明示的な指示を与える代わりに、ケーキを見つけるための最適な方法を見つけるようにコンピューターに教えることができます。これを行うには、コンピューターにケーキまでの距離を計算させ、距離が最小になる方向に移動します。コンピューターはケーキを見つけるまで繰り返します。誤差や距離を最小限に抑えるというこの概念は、ほとんどの機械学習の問題の中核です。ケーキまでの距離や山の高さなどの誤差指標を定義し、勾配降下法を使用してその誤差を最小限に抑えます。傾きの計算を繰り返し、最も誤差が小さくなる方向に進むことで、さまざまな問題の解決策を見つけることができます。

機械学習には、囲碁やジェパディなどのゲームをコンピューターに教える、自動運転車の実現、スパムメールの検出、顔の認識など、多くの用途があります。これらのアプリケーションの中心となるのは、深層学習の基礎を形成するニューラル ネットワークの概念です。ニューラル ネットワークについて考えるとき、ノード、エッジ、レイヤーを含む複雑な構造を想像するかもしれません。ただし、より単純に考えると、データを分割するためのツールとして考えることができます。子供が砂浜で遊んで線を引いて赤と青の貝殻を分けるのと同じように、ニューラル ネットワークはさまざまな種類のデータ ポイントを区別する方法を学習できます。

ニューラル ネットワークをトレーニングするには、連続的な誤差関数が必要です。離散関数であるため、エラーの数を最小限に抑えることは適していません。代わりに、誤って分類されたポイントにペナルティを割り当てるエラー関数を使用します。この例の線の位置など、ニューラル ネットワークのパラメーターを調整することで、誤差を最小限に抑え、最適な解決策を見つけることができます。ロジスティック回帰として知られるこのアプローチを使用すると、さまざまなデータ ポイントに尤度を割り当てる確率関数を構築できます。 50/50 ラインに近いポイントは赤または青のいずれかに分類される可能性が高く、遠くにあるポイントはより確実に分類されます。

機械学習は、さまざまな問題に対する最適な解決策を見つけるために、エラーや距離を最小限に抑えることです。ニューラル ネットワークは、データを分割して分類する方法を提供します。連続誤差関数と勾配降下法を使用することで、ニューラル ネットワークをトレーニングし、幅広いアプリケーションに適用できます。

A friendly introduction to Deep Learning and Neural Networks
A friendly introduction to Deep Learning and Neural Networks
  • 2016.12.26
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly introduction to neural networks an...
 

リカレント ニューラル ネットワークのわかりやすい紹介



リカレント ニューラル ネットワークのわかりやすい紹介

リカレント ニューラル ネットワークへのフレンドリーな入門へようこそ!私は、Udacity の機械学習インストラクターの Luis Serrano です。私の以前のビデオに対するすべてのフィードバックに感謝します。多くの提案を受け取りましたが、その 1 つがリカレント ニューラル ネットワークに関するものであったため、このビデオを作成することにしました。

簡単な例から始めましょう。アップルパイ、ハンバーガー、チキンという 3 種類の料理を作る完璧なルームメイトがいると想像してください。彼の料理の決定は天気に基づいています。晴れていればアップルパイを作り、雨が降っていればハンバーガーを作ります。このシナリオは、単純なニューラル ネットワークを使用してモデル化できます。入力は天気 (晴れまたは雨)、出力は対応する食べ物 (アップルパイまたはハンバーガー) です。

食べ物や天気を表すにはベクトルを使用します。食品ベクトルは、アップルパイは [1 0 0]、ハンバーガーは [0 1 0]、チキンは [0 0 1] です。天気ベクトルは、晴れの場合は [1 0]、雨の場合は [0 1] です。行列乗算を使用してこれらのベクトルをマッピングできます。入力ベクトルに行列を乗算して出力ベクトルを取得します。

次に、より複雑な問題を考えてみましょう。私たちの完璧なルームメイトは今でも順番に料理をします(アップルパイ、ハンバーガー、チキン)が、今では彼の決断は前日に何を作ったかにかかっています。これをリカレントニューラルネットワークと呼びます。毎日のアウトプットが次の日のインプットになります。このネットワークは行列とベクトル演算を使用して表現できます。

たとえば、前日の食べ物がアップルパイで、今日の天気が雨の場合、食べ物行列と天気行列を使用して出力を計算します。食品行列は前の食品ベクトルを取得し、現在と次の食品ベクトルを連結して返します。天気マトリックスは天気ベクトルを受け取り、今日の食べ物を調理すべきか、翌日の食べ物を調理すべきかを示します。これら 2 つの行列の結果を加算することで、ルームメイトが翌日何を料理するかを決定できます。

このアプローチは、前の 2 つの例を組み合わせたもので、ルームメイトの料理の決定は天気と前日の料理の両方に基づいています。行列とベクトル演算は、リカレント ニューラル ネットワークの出力を計算するのに役立ちます。

リカレント ニューラル ネットワークは、以前の入力を考慮して連続データを処理できる強力なモデルです。これらは、自然言語処理や時系列分析など、さまざまなアプリケーションで役立ちます。この概要でリカレント ニューラル ネットワークについて十分に理解していただければ幸いです。

A friendly introduction to Recurrent Neural Networks
A friendly introduction to Recurrent Neural Networks
  • 2017.08.18
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly explanation of how computers predi...
 

敵対的生成ネットワーク (GAN) へのわかりやすい入門



敵対的生成ネットワーク (GAN) へのわかりやすい入門

こんにちは、私は Luis Serrano です。このビデオは敵対的生成ネットワーク (GAN) についてのものです。 Ian Goodfellow によって開発された GAN は、多数のアプリケーションを備えた機械学習の大幅な進歩です。 GAN の最も魅力的なアプリケーションの 1 つは顔の生成です。 Web サイト「thispersondoesnotexist.com」で実際の動作を見ることができます。そこでは、人物のすべての画像がニューラル ネットワークによって生成されます。

このビデオでは、GAN を使用して簡単な方法で顔を生成する方法を学びます。コードを書きたくない場合でも、このビデオは直感と方程式を提供します。単純な画像を生成する 1 層のニューラル ネットワークのペアをコーディングします。コードは GitHub で見つけることができます。

GANとは何かについて説明します。 GAN は、互いに競合するジェネレーターとディスクリミネーターの 2 つのニューラル ネットワークで構成されます。ジェネレーターは偽の画像を作成しようとしますが、ディスクリミネーターは本物の画像と偽の画像を区別しようとします。ディスクリミネーターがジェネレーターを捕捉すると、ジェネレーターはディスクリミネーターを欺く完璧な画像を生成できるまで画像を改善します。 GAN をトレーニングするには、ジェネレーターによって生成された実際の画像のセットと偽の画像のセットを使用します。ディスクリミネーターは本物の画像と偽物の画像を識別する方法を学習しますが、ジェネレーターはディスクリミネーターをだまして画像を本物として分類する方法を学習します。

このビデオでは、深層学習パッケージを使用せずに、Python を使用して単純な GAN のペアを構築します。私たちの仕事は、誰もが細長く見え、45 度の角度で歩く「Slanted Land」と呼ばれる世界で顔を生成することです。 Slanted Land の世界には、白黒画像を表示する 2x2 ピクセルの画面など、限られたテクノロジーしかありません。 1 つのレイヤーでニューラル ネットワークを作成し、Slanted Land の人々の顔を生成します。

識別ネットワークは、画像のピクセル値を分析して、顔と顔以外を区別します。左上隅と右下隅の値を他の 2 つの隅の値と比較することで、画像が顔であるかどうかを判断できます。顔の値の差は大きくなりますが、顔以外の画像やノイズのある画像の値の差は小さくなります。しきい値を適用することで、画像を顔か非顔かに分類できます。ジェネレーター ネットワークは、左上隅と右下隅に高い値を割り当て、右上隅と左下隅に低い値を割り当てることによって面を作成します。シグモイド関数を適用することで、確率を取得し、画像のピクセル値を生成できます。ジェネレーター ネットワークは、入力値に関係なく、常に面を生成するように設計されています。ニューラル ネットワークをトレーニングするには、誤差関数を定義する必要があります。負の自然対数である対数損失を使用して、予測出力と目的の出力の間の誤差を測定します。誤差関数は、バックプロパゲーションと呼ばれるプロセスを通じてネットワークの重みを改善し、誤差を減らすのに役立ちます。

バックプロパゲーションには、重みに関する誤差の導関数を計算し、それに応じて重みを調整して誤差を最小限に抑えることが含まれます。このプロセスは繰り返し繰り返されて、ジェネレーター ネットワークとディスクリミネーター ネットワークがトレーニングされます。適切な誤差関数とバックプロパゲーションを使用してジェネレーターとディスクリミネーターのネットワークをトレーニングすることにより、Slanted Land でリアルな顔を生成できます。ジェネレーターは顔に似た画像を作成することを学習し、ディスクリミネーターは実際の顔と生成された顔を区別することを学習します。

この概要では、GAN の一般的な概念と、GAN が顔を生成する方法について説明します。このビデオでは、概念をさらに深く掘り下げ、コーディング プロセスを段階的に示します。コードを書きたい場合でも、直感と理解を深めたい場合でも、このビデオは有益です。したがって、この場合の弁別器の誤差は、1 の負の対数から予測を引いたものになります。バックプロパゲーションを使用して、弁別器の重みに対するこの誤差の勾配を計算し、この誤差を最小限に抑えるために弁別器の重みを更新します。次に、ジェネレーターについて考えてみましょう。ジェネレーターの目的は、ディスクリミネーターが本物または顔として分類する画像を生成することです。言い換えれば、ジェネレータはディスクリミネータをだまして、生成された画像を高い確率で出力させたいと考えています。したがって、生成器の誤差は、生成された画像に対する弁別器の予測の負の対数になります。

再度、バックプロパゲーションを使用してジェネレータの重みに対するこの誤差の勾配を計算し、この誤差を最小限に抑えるようにジェネレータの重みを更新します。ジェネレーターは、実際の顔に似た画像を生成し、ディスクリミネーターによって顔として分類される確率を高めるような方法で重みを調整することを学習します。このプロセスを複数回繰り返し、弁別器と生成器のトレーニングを交互に行います。反復するたびに、両方のネットワークのパフォーマンスが向上します。弁別器は本物の画像と偽の画像を区別するのがより上手になりますが、ジェネレータは弁別器を欺くことができる本物の画像を生成するのがより上手になります。

ジェネレーターとディスクリミネーターをトレーニングするこの反復プロセスが、GAN を強力なものにします。彼らは互いに競い合うことで、非常に現実的で一貫性のあるサンプルを生成する方法を学びます。ジェネレーターはより説得力のある画像を作成することを学習し、ディスクリミネーターは偽の画像を検出することにさらに熟練します。十分なトレーニングがあれば、GAN は実際のデータに似た画像、テキスト、音楽、さらにはビデオを生成できます。

GAN は、ゲームのような方法で互いに競争するジェネレーターとディスクリミネーターで構成されます。ジェネレーターは偽のサンプルを生成し、ディスクリミネーターは本物のサンプルと偽のサンプルを区別しようとします。この敵対的なプロセスと適切な誤差関数を使用したトレーニングを通じて、GAN は高品質で現実的なデータを生成する方法を学習します。

A Friendly Introduction to Generative Adversarial Networks (GANs)
A Friendly Introduction to Generative Adversarial Networks (GANs)
  • 2020.05.05
  • www.youtube.com
Code: http://www.github.com/luisguiserrano/gansWhat is the simplest pair of GANs one can build? In this video (with code included) we build a pair of ONE-lay...
 

制限付きボルツマン マシン (RBM) - わかりやすい紹介



制限付きボルツマン マシン (RBM) - わかりやすい紹介

こんにちは、私は Luis Serrano です。このビデオは制限付きボルツマン マシン (RBM) についてのものです。 RBM は、教師あり学習、次元削減、生成機械学習で使用される強力なアルゴリズムです。

謎から始めましょう。通りの向かいに家があり、時々人が訪ねてきます。アイーシャ、ベト、キャメロンの 3 人が頻繁に来ますが、常に一緒にいるわけではないことがわかります。アイーシャだけが現れることもあれば、ベトやキャメロンが現れることもあり、誰も現れない日も含めて複数人が来ることもあります。このパターンを調査すると、彼らはお互いを知らないことが判明したため、彼らが出現する別の理由を見つける必要があります。

私たちは家にデカルトという名前の犬とオイラーという名前の猫というペットがいることを発見しました。アイーシャとキャメロンは犬が大好きなので、デカルトがいるときに現れます。一方、ベトは犬アレルギーですが猫が大好きなので、アーシャがいるときだけ現れます。ユーザーの好みを表すスコアを割り当てます。正のスコアは好きを示し、負のスコアは嫌いを示します。ここで、さまざまなシナリオが発生する可能性を調べたいと思います。各シナリオにスコアを割り当て、それらを確率に変換します。 1 つのアプローチは、ソフトマックス関数を使用してスコアを確率に変換し、より高いスコアがより高い確率に対応するようにすることです。

可視層と非表示層を備えた制限付きボルツマン マシン (RBM) を構築します。可視レイヤーは観察されたデータ (人々) を表し、非表示レイヤーは観察されていないデータ (ペット) を表します。 RBM は、重みによって接続されたノードで構成され、各接続にスコアが割り当てられます。 RBM をトレーニングするには、データから取得した確率と一致する重みを見つける必要があります。 RBM には、アイーシャとキャメロン、またはベトのみが登場するシナリオには高い確率を割り当て、その他のシナリオには低い確率を割り当てるようにしてください。重みを調整することで、RBM によって割り当てられる確率に影響を与えることができます。目標は、RBM を観測データと一致させ、望ましい確率を模倣することです。

望ましい確率を達成するには、RBM の重みを調整する必要があります。重みは、表示レイヤーと非表示レイヤーの間の各接続の影響を決定します。重みを更新することで、特定のシナリオの確率を高め、他のシナリオの確率を下げることができます。重みを更新するには、コントラスト発散と呼ばれる手法を使用します。これには、RBM の数回の反復の前後で、可視層の状態の確率を比較することが含まれます。重みの更新は、これら 2 つの確率セットの差に基づいています。トレーニング中、トレーニング データを RBM に繰り返し提示し、観測データの確率を最大化するように重みを調整します。トレーニング データに明示的なラベルがないため、このプロセスは教師なし学習として知られています。

トレーニング後、RBM を使用して、学習された確率分布からサンプリングすることで新しいデータを生成できます。トレーニング データで観察されたものと同様のシナリオを生成できます。モデルをトレーニングするには、RBM (制限付きボルツマン マシン) を使用し、確率を増減するプロセスに従います。考えられるすべてのシナリオを考慮するのではなく、ランダムに 1 つのシナリオを選択してその確率を上げ、ランダムに選択されたシナリオの確率を下げます。このプロセスを複数回繰り返し、希望する結果に合わせて確率を徐々に調整します。データ ポイントごとに、それを拡張して確率を高めるシナリオを選択し、別のシナリオをランダムに選択して確率を減らします。データセット全体に対してこのプロセスを継続し、複数回ループします。結果として得られる確率はデータとよく一致しており、さまざまなシナリオの発生と一致しています。

確率を変更するには、RBM の重みを調整します。目的のシナリオに対応する特定の頂点とエッジに焦点を当てます。重みを増減することで、これらのシナリオの確率に影響を与えます。それぞれの確率に基づいてシナリオを選択する必要があるため、サンプリングには課題が生じます。独立したサンプリングを導入し、目的のシナリオに接続された関連する頂点とエッジのみを考慮します。シグモイド関数を使用して確率を計算すると、重みに比例した確率を持つシナリオをランダムに選択できます。特定のデータ ポイントと一致するシナリオを選択するために、関連する参加者とそのつながりに焦点を当て、無関係な参加者は無視します。重みに基づいて確率を計算し、シグモイド関数を使用して確率に変換します。これにより、重みを反映した確率でシナリオをランダムに選択することができます。

完全にランダムなシナリオを選択するには、さまざまな可能性を探索するのと同じように、分布内でランダムなステップを実行してシナリオを近似します。これは完全にランダムなシナリオを完全に表現したものではないかもしれませんが、近似値として機能します。このプロセスにより、RBM をトレーニングし、望ましい結果に一致するように確率を調整し、データを効果的にモデル化することができます。

制限付きボルツマン マシンは、協調フィルタリング、次元削減、特徴学習などのさまざまなタスクに適用されて成功しています。これらは、深い信念ネットワークなど、より複雑な深層学習モデルの構成要素としても使用されます。

制限付きボルツマン マシンは、機械学習で使用される強力なアルゴリズムです。これらには、重みによって接続された可視レイヤーと非表示レイヤーが含まれます。トレーニングを通じて重みを調整することで、RBM はトレーニング データの確率分布を学習し、新しいデータ サンプルを生成できます。 RBM はさまざまなドメインにアプリケーションがあり、深層学習モデルの重要なコンポーネントです。

Restricted Boltzmann Machines (RBM) - A friendly introduction
Restricted Boltzmann Machines (RBM) - A friendly introduction
  • 2020.07.07
  • www.youtube.com
CORRECTION: The score for BE is 6 and for BD is -1.A simple introduction to Restricted Boltzmann Machines (RBM) and their training process, using a real-life...
 

深層強化学習、Q ネットワーク、ポリシー勾配についてのフレンドリーな入門書



深層強化学習、Q ネットワーク、ポリシー勾配についてのフレンドリーな入門書

こんにちは、私は Luis Serrano です。これは深層強化学習とポリシー勾配についてのフレンドリーな入門書です。強化学習は、自動運転車、ロボット工学、囲碁、チェス、Atari ゲームなどの複雑なゲームに応用できます。強化学習と予測機械学習の主な違いは、強化学習では環境と対話し、報酬と罰を収集してデータを作成するエージェントが存在するのに対し、予測機械学習は既存のデータに依存してモデルをトレーニングすることです。このビデオでは、マルコフ決定プロセス (MDP)、ベルマン方程式、ニューラル ネットワークが Q ネットワークとポリシー勾配による強化学習をどのように支援できるかなどの重要な概念について説明します。

Grid World と呼ばれる MDP を使用した強化学習の例から始めましょう。グリッド ワールドでは、宇宙を表すグリッドと円として描かれたエージェントがあります。グリッドには、お金のあるマスやゲームオーバーになるドラゴンのマスなど、特別なマスが含まれています。エージェントの目標は、グリッド上を移動し、報酬または罰を収集してポイントを最大化することです。隣接する状態の最大値に基づいて各状態の値を計算するベルマン方程式を使用して、エージェントにとって最適な戦略を決定できます。次に、ポイントを最大化するために取るべき最適なパスについてエージェントに指示を与えるポリシーを導き出すことができます。

ポリシーの効率を向上させるために、特典と割引要素を導入します。報酬は、一歩を踏み出したときに獲得または失われたポイントを表し、割引係数は、即時の報酬と比較した将来の報酬の価値を考慮します。報酬と割引係数を考慮することで、状態の値を調整し、それに応じてベルマン方程式を更新できます。値を反復して更新することで、各状態の最適な値に収束し、エージェントを最高点に導くポリシーを決定できます。

ベルマン方程式を理解し、報酬と割引係数を使用することで、MDP を解決し、強化学習に最適なポリシーを見つけることができます。左側は、エージェントが最適な値を見つけるために右に移動する必要があることを示しています。このポリシーは、エージェントに、確率 1 で右に移動し、確率 0 で他の方向に移動するように指示します。対照的に、確率的ポリシーは右に移動することを強く好みますが、それでも得られる報酬に基づいて他の方向にチャンスを与えます。 。たとえば、右側の確率的ポリシーでは、値が最も高い右側の状態が優先されますが、左側の状態はスコアが低いため優先順位が最も低くなります。ただし、確率は依然としてゼロではないため、エージェントは常に最高の報酬を受け取れない場合でも空間を探索できます。

ここで、このプロセスにおけるニューラル ネットワークの役割について説明します。エージェントにすべての州を繰り返し訪問させる (コストがかかる) 代わりに、ニューラル ネットワークを使用していくつかの州から情報を収集できます。ニューラル ネットワークは、類似した座標を持つ状態は類似した値を持つはずであることを学習できます。入力が点の座標であり、出力がその点のスコアである値ネットワークを使用します。同様に、政策ネットワークを使用して、各州の政策を近似することができます。ポリシー ネットワークは座標を入力として受け取り、上、右、下、左に移動する確率を表す 4 つの数値を出力します。値ネットワークをトレーニングするには、状態の値を隣接する状態に関連付けるベルマン方程式を満たすように強制します。隣接する状態でニューラル ネットワークの値を使用し、方程式を満たすように中央の値を調整します。ベルマン方程式に基づいてニューラル ネットワークを繰り返し更新することで、すべての状態の値を近似できます。

ポリシー ネットワークの場合は、現在のポリシーに基づいてパスを取得し、各アクションに対応するゲインのラベルを付けることでネットワークをトレーニングします。ゲイン、座標、アクションを含むデータセットを作成し、それをポリシー ネットワークにフィードします。次に、利益に基づいてネットワークが特定のアクションを実行することを奨励または抑制します。このプロセスをさまざまなパスで繰り返すことで、時間の経過とともにポリシー ネットワークを改善できます。ニューラル ネットワークを使用して、国家の価値と政策を近似します。値ネットワークは各状態の値を推定するのに役立ち、ポリシー ネットワークはエージェントのアクションをガイドします。トレーニングには、ベルマン方程式とパスベースのラベル付けに基づいてネットワークを繰り返し更新することが含まれます。

各状態の値と対応するポリシーを取得したので、それらを使用してゲーム内で意思決定を行うことができます。このポリシーは、計算した値に基づいて、各州がとるべき最善の行動を示します。たとえば、エージェントが特定の状態にあり、どのようなアクションを実行するかを知りたい場合、エージェントは単にポリシーを確認し、最も高い値を持つ隣接する状態を指す矢印に従います。これにより、エージェントは報酬を最大化するために最適なパスを選択できるようになります。グリッド ワールド ゲームの場合、ポリシーはエージェントが障害物を回避し、できるだけ早く最高の報酬が得られる最終状態に到達するようにガイドできます。ポリシーに従うことで、エージェントはグリッド ワールドをナビゲートし、マイナスの報酬を回避しながらポイントを収集できます。

Q 学習やポリシー勾配などの強化学習アルゴリズムを使用すると、より複雑な環境に最適なポリシーと値を見つけることができます。これらのアルゴリズムは、マルコフ決定プロセスとベルマン方程式の概念を活用して、値を繰り返し更新し、時間の経過とともにポリシーを改善します。ニューラル ネットワークを使用して、大規模で複雑な状態空間を処理することもできます。 Q ネットワークとポリシー勾配法は、ニューラル ネットワークを利用して値またはポリシー関数を近似し、強化学習タスクにおけるより効率的かつ効果的な学習を可能にします。

強化学習アルゴリズムとニューラル ネットワークを組み合わせることで、自動運転車、ロボット工学、複雑なゲームプレイなどの困難な問題に取り組むことができます。これらの技術には幅広い用途があり、人工知能の分野を進歩させ続けています。

強化学習には、環境と対話して報酬を収集することによって、環境内で意思決定を行うエージェントのトレーニングが含まれます。エージェントは、ベルマン方程式から得られた値とポリシーを使用して、環境をナビゲートし、その報酬を最大化します。ニューラル ネットワークを使用すると、強化学習におけるより複雑な問題を処理できます。

A friendly introduction to deep reinforcement learning, Q-networks and policy gradients
A friendly introduction to deep reinforcement learning, Q-networks and policy gradients
  • 2021.05.24
  • www.youtube.com
A video about reinforcement learning, Q-networks, and policy gradients, explained in a friendly tone with examples and figures.Introduction to neural network...
 

機械学習へのわかりやすい入門



機械学習へのわかりやすい入門

こんにちは。機械学習の世界へようこそ。今日は、機械学習とは何なのかを探っていきます。この世界には人間とコンピューターがいますが、両者の重要な違いの 1 つは学習方法です。人間は過去の経験から学習しますが、コンピューターはプログラムされ、指示に従う必要があります。しかし、経験から学ぶようにコンピュータに教えることはできるでしょうか?答えは「はい」です。そこで機械学習が登場します。コンピューターの領域では、過去の経験はデータと呼ばれます。

次の数分では、コンピューターに以前のデータから学習する方法を示す例をいくつか紹介します。興味深いのは、これらのアルゴリズムが非常に簡単で、機械学習を恐れる必要がないことです。最初の例を見てみましょう。私たちが住宅市場を研究していて、私たちの仕事は家のサイズに基づいて家の価格を予測することであると想像してください。さまざまな住宅のサイズや価格などのデータを収集しました。このデータを、x 軸が平方フィート単位で住宅サイズを表し、y 軸がドル単位で価格を表すグラフ上にプロットすると、この 2 つの関係を視覚化できます。データ ポイントがほぼ線を形成していることがわかります。

線形回帰と呼ばれる方法を使用すると、データ ポイントに最もよく適合する線を引くことができます。この線は、その規模を考慮した住宅の価格を予測するための最良の推測を表しています。グラフを調べて、直線上の対応する点を特定することで、中規模の住宅の価格を推定できます。線形回帰を使用すると、線とデータ ポイントの間の誤差を最小限に抑えて、最適な線を見つけることができます。線形回帰は、機械学習アルゴリズムの一例にすぎません。データが線形関係を形成する場合、これは比較的シンプルで効果的です。ただし、問題の性質に応じて、同様の方法を使用して、曲線、円、高次の多項式などの他のタイプのデータを近似することができます。

さて、別の例に移りましょう。電子メールスパム検出システムを構築したいとします。私たちは、スパムとしてマークされたかどうかを含む、以前の電子メールに関するデータを収集しました。このデータを分析することで、電子メールがスパムであるかどうかを示す可能性のある特徴を特定できます。たとえば、「安い」という単語を含む電子メールはスパムとしてフラグが立てられることがよくあります。単純ベイズ アルゴリズムを使用すると、確率をこれらの特徴に関連付けることができます。この場合、電子メールに「安い」という単語が含まれている場合、そのような電子メールの 80% がスパムとしてマークされることがわかります。複数の特徴とそれに関連する確率を組み合わせることで、その特徴に基づいて電子メールがスパムであるかどうかを予測する分類器を作成できます。

次の例に移ります。App Store または Google Play で作業しており、目的はユーザーにアプリを推奨することであるとします。ユーザー、その特徴、ダウンロードしたアプリに関するデータを収集できます。このデータを分析することで、推奨事項の指針となる意思決定ツリーを構築できます。デシジョン ツリーはユーザーの特性に基づいた質問で構成され、特定のアプリの推奨につながります。たとえば、ユーザーが 20 歳未満かどうかを尋ねます。その回答に基づいて、特定のアプリを推奨できます。ユーザーの年齢が高い場合は、性別などの別の質問をして、推奨事項をさらに絞り込むことができます。デシジョン ツリーは、ユーザー属性に基づいてパーソナライズされたアプリの推奨を行うのに役立ちます。

最後に、大学の入学事務局について考えてみましょう。彼らは、入学試験の得点と学生の成績という 2 つの情報に基づいて入学を許可する学生を決定しようとしている。以前に入学を許可された学生と拒否された学生のデータを分析することで、ロジスティック回帰モデルを作成できます。

ロジスティック回帰を使用すると、合格した学生と不合格になった学生のデータ ポイントを分ける線を引くことができます。この線は、学生が入学するか拒否されるかを決定するための境界線を表します。ロジスティック回帰モデルは、入学試験の得点と成績に基づいて入学の確率を計算します。決定境界が確立されると、入学試験の得点と成績をグラフにプロットすることで新入生を評価できます。ポイントが判定境界を超える場合、モデルは入院を予測します。それを下回った場合、モデルは拒否を予測します。これらは、機械学習アルゴリズムと、それらをさまざまなドメインに適用する方法のほんの数例です。機械学習を使用すると、コンピューターは、あらゆるシナリオに対して明示的にプログラムされなくても、データから学習して予測や決定を行うことができます。これにより、自動化、パターン認識、および複雑で大規模なデータの処理が可能になります。

機械学習には学習するためのデータが必要であることに注意することが重要です。データの品質と関連性は、モデルの精度と有効性において重要な役割を果たします。さらに、機械学習モデルは代表的なデータセットでトレーニングされ、一般化可能性を確保するために検証される必要があります。

機械学習は、多数のアルゴリズム、技術、アプリケーションが存在し、急速に進化している分野です。研究者や実践者は常に新しい方法を模索し、可能なことの限界を押し広げています。テクノロジーが進歩し、より多くのデータが利用可能になるにつれて、機械学習はさまざまな業界や私たちの生活の側面にますます大きな影響を与えることが予想されます。

A Friendly Introduction to Machine Learning
A Friendly Introduction to Machine Learning
  • 2016.09.09
  • www.youtube.com
Grokking Machine Learning Book: https://www.manning.com/books/grokking-machine-learning40% discount promo code: serranoytA friendly introduction to the main ...
 

機械学習: テストとエラーのメトリクス



機械学習: テストとエラーのメトリクス

こんにちは。機械学習のテストとエラー メトリクスに関するこのチュートリアルへようこそ。私の名前はルイス セラーノです。Udacity で働いており、機械学習を教えています。それは私の写真です。今日は 2 つの質問に焦点を当てます。1 つ目は、モデルがどの程度うまく機能しているかということです。それがわかったら、これらの指標に基づいてどのように改善すればよいでしょうか?早速、いくつかのデータを見てみましょう。青い点と赤い点があり、それらを分離するようにモデルをトレーニングしたいと考えています。最も単純なモデルは線形モデルで、データを青と赤に分割する線です。多少のミスはありますが、概ね良好です。より高次の多項式を使用したより複雑なモデルも考えてみましょう。このモデルは点の分離に優れていますが、2 つのモデルではどちらが優れていますか?

この質問に答えるには、テストを使用する必要があります。すべてのポイントをトレーニングに使用するのではなく、ポイントをトレーニング セットとテスト セットに分割します。トレーニング ポイントはモデルのトレーニングに使用され、テスト ポイントはモデルのパフォーマンスを評価するために使用されます。この例では、線形モデルはテスト セットで 1 つの間違いを犯しますが、多項式モデルは 2 つの間違いを犯します。したがって、線形モデルはより一般化されるため、テスト セットでのパフォーマンスが向上します。

テストに関しては、従うべき重要なルールがいくつかあります。最初の黄金律は、テスト データをトレーニングに決して使用しないことです。テスト データは別に保管し、評価のみに使用してください。 2 番目のルールは、友達もテスト データをトレーニングに使用しないようにすることです。最後に、3 番目のルールは、テスト データをトレーニングに決して使用しないことを強調しています。テストデータの誤用を避けることが重要です。

データをトレーニング セットとテスト セットに分けることでデータを無駄にしているように見えるかもしれませんが、この懸念に対処する方法があります。通常、k 分割相互検証と呼ばれる手法を使用して、データを k 個の等しいセットに分割できます。データの各部分はトレーニングとテストの両方に使用され、結果は最後に平均化されます。このアプローチにより、モデルのパフォーマンスを評価しながら、データをより有効に活用できるようになります。

次に、モデルがどの程度うまく機能しているかを評価するのに役立つ指標について説明します。一般的な指標の 1 つは精度です。これは、インスタンスの総数と比較して、モデルが正しく分類したインスタンスの数を測定します。ただし、クレジット カード詐欺の検出、医療診断、スパム分類の例に示されているように、精度だけが常に最良の指標であるとは限りません。このような場合、偽陰性と偽陽性は異なる意味を持ちます。

モデルをより効果的に評価するために、混同行列を使用します。このマトリックスは、真陽性、真陰性、偽陽性、偽陰性の 4 つの可能性を示します。これらはそれぞれ、実際のデータと比較したモデルの予測に基づいた異なる結果を表しています。たとえば、医療診断における偽陰性は、病気の人が健康であると分類されることを意味しますが、これは偽陽性よりも悪影響です。同様に、スパム分類では、偽陽性は、スパムではない電子メールがスパムとしてマークされることを意味します。これは、偽陰性よりも悪質です。

偽陽性と偽陰性の特定のコンテキストと結果を考慮することで、モデルを評価するための適切な指標を選択できます。精度だけでは全体像を把握できない可能性があり、精度、再現率、F1 スコアなどの他の指標を使用すると、モデルのパフォーマンスについてより多くの洞察が得られます。

これら 2 つのスコアを 1 つに結合できますか?適合率スコアと再現率スコアを組み合わせる簡単な方法の 1 つは、平均を取ることです。提供された適合率スコアと再現率スコアの平均を計算してみましょう。左側の精度は 69.5、右側は 66.95 です。これら 2 つのスコアの平均を取ると、68.225 になります。ただし、この平均値は十分な情報を提供しない可能性があり、精度と大きく異なるわけではありません。この平均スコアの意味を理解するために、クレジット カード不正検出に関する極端な例を考えてみましょう。

この例には 2 つのモデルがあります。1 つはすべてのトランザクションを良好なものとして分類し、もう 1 つはすべてのトランザクションを不正なものとして分類します。両方のモデルの適合率と再現率を計算してみましょう。

すべてのトランザクションを良好として分類するモデルの場合、精度は 100% (不良として分類されたトランザクションはすべて実際には良好であるため)、再現率は 0% (不正なトランザクションはいずれも捕捉されないため) です。適合率と再現率の平均を取ると、50% になります。ただし、パフォーマンスが低いモデルにそのような高いスコアを与えるのは適切ではないようです。同様に、すべてのトランザクションを不正なものとして分類するモデルの場合、精度は 0.16% (すべてのトランザクションのうち 472 が正しく分類された)、再現率は 100% (すべての不正なトランザクションが捕捉されるため) です。繰り返しますが、適合率と再現率の平均は約 50% になりますが、これはモデルのパフォーマンスの低さを正確に反映していません。

この制限を克服するために、調和平均と呼ばれる別のタイプの平均を使用できます。これは F1 スコアとしても知られています。調和平均は、式 2 * (適合率 * 再現率) / (適合率 + 再現率) を使用して計算されます。 F1 スコアは、特に一方の指標 (適合率または再現率) が他方の指標と大きく異なる場合に、よりバランスの取れた表現を提供します。

医療モデルの場合、精度は 55.7、再現率は 83.3 です。調和平均の式を使用して F1 スコアを計算すると、66.76% となります。スパム検出モデルの場合、精度は 76.9、再現率は 37 です。F1 スコアは 49.96% です。線形モデルの場合、適合率は 75、再現率は 85.7 です。 F1スコアは80%です。

クレジット カード詐欺モデルの場合、すべての不正取引を捕捉したい場合は、リコールを優先します。したがって、この場合の適切な指標は、精度よりも再現率に近いものになります。

テストとエラーのメトリクスは、機械学習モデルを評価および改善するために重要です。テストの黄金律に従い、適切なメトリクスを選択し、偽陽性と偽陰性の結果を考慮することは、モデルについて情報に基づいた意思決定を行うのに役立ちます。

適合率と再現率を 1 つのスコアに組み合わせるには、2 つのメトリクスの調和平均をとる F1 スコアを使用します。これにより、よりバランスの取れた評価が得られ、あるメトリックが他のメトリックと大きく異なる場合に特に役立ちます。

Machine Learning: Testing and Error Metrics
Machine Learning: Testing and Error Metrics
  • 2017.03.16
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly journey into the process of evalua...
 

ROC (受信機動作特性) 曲線を 10 分で作成!



ROC (受信機動作特性) 曲線を 10 分で作成!

こんにちは!私は Luis Serrano です。このビデオでは、受信者動作特性 (ROC) 曲線について説明します。 ROC 曲線は、機械学習モデルの評価や重要な意思決定に広く使用されています。

青と赤の点を含むデータセットから始めましょう。青の点は陽性、赤の点は陰性としてラベル付けされています。このデータセットに適合する機械学習モデルを構築します。たとえば、この行について考えてみましょう。線の青い側はその側のすべての点を青または正として分類し、赤い側はその側の点を赤または負として分類することに注意してください。ただし、モデルにはいくつかの間違いがあります。一例として、青い領域にある赤い点が挙げられますが、これは誤検知です。別の例は、赤い領域の線の下にある青い点です。これは偽陰性です。偽陽性と偽陰性をよりよく理解するには、機械学習テストとエラー メトリクスに関する私の他のビデオをご覧ください。

ここで、同じタイプのモデルの 2 つの異なる例を考えてみましょう。左側のモデルは医学モデルであり、正の点は病気の患者を表し、負の点は健康な患者を表します。一方、右側のモデルはスパム検出モデルであり、正の点はスパム メッセージ、負の点は非スパムまたは「ハム」メッセージです。

医学モデルでは、健康な人が病気であると診断されるときに偽陽性が発生し、不必要な検査が行われることになります。偽陰性は、病気の人が健康であると診断され、治療を受けられない場合に発生します。この場合、病気の人を治療せずに帰宅させるよりも、健康な人を追加の検査に送る方が良いため、偽陰性はより悪いと考えられます。したがって、モデルを変更して偽陰性を減らすことを目指します。

スパム検出モデルでは、誤検知はスパムとして分類され、スパム フォルダーに送信される正常な「ハム」電子メールです。偽陰性とは、誤って「ハム」として分類され、受信箱に配信されるスパムメールです。ここでは、重要なメールがスパムとしてマークされるよりも、受信トレイに時折スパム メールを受信する方が優先されるため、誤検知はより悪いと考えられます。したがって、このモデルでは誤検知を減らすことに重点を置いています。

これら 2 つのモデルは両極端を表しており、ほとんどのモデルはその中間に位置し、一部の偽陽性または偽陰性を許容します。ただし、各タイプのエラーに割り当てられる重要度は異なる場合があります。したがって、モデルのタイプごとに、分類しきい値を設定する最適な点を決定する必要があります。

このビデオでは、そのような決定を下すのに役立つ便利な方法を紹介します。この線で表される仮説的なデータセットを検討します。私たちのモデルはこの線の対訳になります。モデルごとに、正しく分類された赤と青のポイントの数を記録します。

一番下の線から始めます。ここでは、すべての青い点が正しく分類されていますが、赤い点はどれも正しく分類されていません。これにより、正しい赤い点が 0 つ、正しい青い点が 5 つ得られます。これらの値をプロットし、一度に 1 点をカバーするように線を移動し、正しい分類を記録します。このプロセスは最後まで続きます。最終的には、常に 5 つの正しい青点と 0 つの正しい赤点が得られます。これらの点をプロットし、曲線の下の面積を計算します。この場合、面積は 25 正方形のうちの 21 となり、曲線下の面積は 0.84 になります。この領域の範囲は 0 ~ 1 で、値が大きいほどモデルのパフォーマンスが優れていることを示します。この ROC 曲線を使用して、モデルに関する決定を下すことができます。優れたモデルは、偽陽性と偽陰性がほとんどない曲線上の点で表されます。医療モデルでの偽陰性やスパム検出モデルでの偽陽性を最小限に抑えるなど、特定の要件に応じて、曲線上の対応する点を選択できます。

あるいは、データ ポイントがモデルによって割り当てられた 0 から 1 までのスコアを持つものとして見ることもできます。しきい値を適用することで、これらのスコアを離散予測に変換できます。しきい値を調整し、さまざまなレベルでモデルがどのように実行されるかを観察します。このプロセスにより ROC 曲線が作成されます。曲線上の点を選択すると、予測に適切なしきい値を選択するのに役立ちます。さらに、曲線の下の面積が 0.5 未満であっても、モデルが悪化していることを示すわけではないことに注意してください。実際、それは依然として優れたモデルである可能性があります。たとえば、面積が 0 のモデルは、すべての間違いを犯したモデルに相当しますが、予測を裏返すと、間違いを犯さないモデルとほぼ同じになります。したがって、面積が 0.5 未満のモデルでも依然として有効である可能性があります。

ご清聴ありがとうございました!このビデオを気に入っていただけた場合は、他のコンテンツを購読してください。特に将来のビデオに関する提案がある場合は、お気軽に「いいね!」、共有、コメントしてください。 Twitter の @LuisLikesMath までご連絡いただくこともできます。ビデオ、書籍、コースの詳細については、ルイス セラーノ アカデミーをご覧ください。次のビデオでお会いしましょう!

ROC (Receiver Operating Characteristic) Curve in 10 minutes!
ROC (Receiver Operating Characteristic) Curve in 10 minutes!
  • 2020.07.14
  • www.youtube.com
The ROC curve is a very effective way to make decisions on your machine learning model based on how important is it to not allow false positives or false neg...