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

 

線形回帰: わかりやすい入門書



線形回帰: わかりやすい入門書

こんにちは、私はルイ・セラーノです。これは線形回帰についてのフレンドリーな入門書です。このビデオは、線形回帰、ロジスティック回帰、サポート ベクター マシンについて説明する 3 部構成のシリーズの最初の部分です。ただし、今は線形回帰に焦点を当てましょう。

通常、線形回帰の説明には、線形代数、行列、導関数、微積分、誤差関数などの複雑な概念が含まれます。しかし、私にとって、これは圧倒的かもしれません。私は視覚的な思考を持っており、点と線を使用したより直観的なアプローチで線形回帰を理解することを好みます。

それが何を意味するのかを説明しましょう。まず、住宅価格の例を使用して線形回帰を定義しましょう。部屋の数が異なる 5 つの家があると想像してください。私たちは家 3 を所有しており、売却価格を見積もろうと思っています。これを行うために、類似の住宅の価格を調べ、知識に基づいた推測を試みます。ハウス 1 のコストが 150,000 ドル、ハウス 2 のコストが 200,000 ドル、ハウス 4 のコストが 300,000 ドル、ハウス 5 のコストが 350,000 ドルであることを観察した後、ハウス 3 の費用は約 250,000 ドルになる可能性があると推定できます。

基本的に、ここで行ったのは線形回帰の実行です。横軸に部屋数、縦軸に価格をとり、住宅をグラフにプロットしました。価格が直線に従っているように見えることが観察されたため、最良の見積もりを行うために、その線上にハウス 3 を配置しました。一連の点を通る直線をフィッティングし、それを予測に使用するというこの単純なアプローチが線形回帰の本質です。

実際には、価格の計算には追加の要素が含まれるため、データはより複雑になります。ただし、住宅価格に非常に近い直線を当てはめることはできます。線形回帰は、金融における株価の計算や医療における患者の寿命の決定など、さまざまなシナリオに適用できます。応用例は数多くあります。

ここで、実際に線形回帰を実行する方法について説明します。点に最も適合する線を見つけるアルゴリズムまたは手順が必要です。わかりやすくするために、ポイントにうまく適合するまでラインを微調整する基本的なアルゴリズムに焦点を当てます。

アルゴリズムの概要は次のとおりです。

  1. ランダムな行から始めます。
  2. 学習率を定義します。これにより、調整のサイズが決まります。
  3. 次の手順を指定された回数 (エポック) 繰り返します。
    • ランダムな点を選択します。
    • ラインに対する相対的な位置に基づいて、ラインをポイントに向かって移動します。
  4. フィットしたラインをお楽しみください。

線を点に向かって移動するには、回転と平行移動を実行します。線を時計回りまたは反時計回りに回転すると傾きが調整され、線を上下に移動すると y 切片が調整されます。調整は、学習率によって決まる少量を加算または減算することによって行われます。

このプロセスを複数回繰り返すことで、線が徐々に点に近づき、フィット感が高まります。エポック数によってプロセスを繰り返す回数が決まり、必要な精度と利用可能な計算リソースに基づいて調整できます。

これが線形回帰の背後にある基本的な考え方です。これは、線をデータ ポイントに当てはめて予測を行うための強力なツールです。この直感的な説明が線形回帰をより深く理解するのに役立つことを願っています。

要点に近いものがあり、四角いトリックが効果的に機能することを確認するために確認する必要があるケースが 4 つあります。点が線の下、y 軸の右側にある別のケースを調べてみましょう。方程式が再度提示されます。ステップ 1 では、0.01 という小さな学習率を選択します。ステップ 2 では、この比率を傾きと y 切片に適用します。ここで、点が線の下にあるため (-4)、垂直距離は負ですが、点が y 軸の右側にあるため (+5)、水平距離は正のままです。傾きを変更するには、0.01 倍 (-4) と 5 を加算し、結果は -0.2 になります。 -0.2 を減算すると、傾きが減少し、線が時計回りに移動します。 y 切片については、学習率と垂直距離の積 (0.01 倍 (-4)) を加算し、結果は -0.04 になります。新しい直線の方程式は、y = 1.8 - 0.2x + 2.96 - 0.04 となります。傾きが小さくなり、時計回りの回転を示し、y 切片が小さくなり、下向きの移動を示していることに注目してください。この調整により、核心に近づくことができます。 4 つのケースのうち 2 つだけをチェックしましたが、すべてのケースをテストして、ステップ 2 が一貫して機能することを確認することをお勧めします。最後に、線形回帰アルゴリズムを見てみましょう。アルゴリズムは次のように進行します。

  1. ランダムな行から始めます。
  2. 繰り返し数 (エポック) を 8,000 に設定します。
  3. 0.01 という小さなステップ長 (学習率) を選択します。
  4. 指定されたエポック数の間、次のループを繰り返します。
    • ランダムに点を選択します。
    • 学習率、垂直距離、水平距離を使用して、ポイントに向かって移動するようにラインを調整します。
  5. フィットしたラインをお楽しみください。これが線形回帰アルゴリズムです。提供された疑似コードを使用してコーディングし、さまざまなデータセットでテストしてパフォーマンスを観察することをお勧めします。このアルゴリズムを実装してみたところ、非常にうまく機能することがわかりました。

ここで、このアルゴリズムは既存のアルゴリズムより優れているのか、それとも同じなのかという疑問が生じます。この状況は、私がかつて一緒に仕事をしたジョン・ボーワインという名の優秀な数学者を思い出させます。彼は円周率の桁を計算する公式を検索し、その公式が円周率に非常に近い場合、新しい公式を発見したか、円周率に著しく近いものを見つけたかのどちらかであるため、双方にとって有利な状況であることがわかりました。同様に、このアルゴリズムでは、双方にとって有利な状況が得られます。これは、既存のアルゴリズムよりも優れたパフォーマンスを発揮するか、よりシンプルでありながら同等の効果を発揮することが証明されています。

驚くべきことに、このアルゴリズムは、二乗誤差勾配降下法などの従来の線形回帰で使用されるものとまったく同じです。従来のアプローチでは、点と線の間の距離を計算し、導関数、微積分、勾配降下法を使用するか、線形連立方程式を解くことで二乗誤差を最小限に抑えます。私が皆さんに提示する課題は、勾配降下法の場合と同様に、二乗誤差を計算し、導関数を取得し、微分方向と逆の小さなステップを実行することによって、二乗トリックが従来の二乗誤差法と同等であることを検証することです。差の二乗の導関数が垂直距離と水平距離に密接に関係していることがわかります。これは、四角いトリックが従来のアプローチと同等であることを示しています。

2 番目の課題は、ラインの良し悪しを測定することに関するものです。距離の二乗を含む二乗誤差については以前に説明しました。もう 1 つの簡単な方法は絶対誤差です。この方法では、符号を考慮せずに距離の絶対値を加算します。悪い線はオレンジ色の距離が大きくなりますが、良い線は点に近いためオレンジ色の距離が小さくなります。微積分を使用すると、絶対誤差を最小限に抑え、勾配降下ステップを実行できます。水平距離のみを扱い、点に対する相対的な線の位置を処理する if ステートメントを含む絶対トリックを開発することができます。この課題を探索すると、絶対的なトリックがわかります。自由にコーディングして、その効果を観察してください。

このビデオは線形回帰に焦点を当てています。これは、ロジスティック回帰およびサポート ベクター マシンに関するトリックを含む 3 部構成のシリーズの一部であることに注意してください。今後のビデオにご期待ください。このコンテンツを気に入っていただけた場合は、購読、いいね、共有をご検討ください。コメント、ご質問、ご提案をお待ちしております。この課題をどのように乗り越えたかをお知らせください。また、今後の動画のトピックをお気軽にご提案ください。 Twitter (@LouisLikesMath) で私にご連絡いただくこともできます。ありがとうございます。また次のビデオでお会いしましょう。

Linear Regression: A friendly introduction
Linear Regression: A friendly introduction
  • 2018.12.22
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to linear regression that req...
 

ロジスティック回帰とパーセプトロン アルゴリズム: わかりやすい入門書



ロジスティック回帰とパーセプトロン アルゴリズム: わかりやすい入門書

3 つのケースすべてを同時に処理できる、より優れたアルゴリズムがあります。これらのケースをまとめて処理するパーセプトロン トリックについて説明します。同じ方程式を持つ線と、赤い線の上にある青い点を考えてみましょう。この点に合わせて線の位置を調整する必要があります。これを行うには、-6 の値を少しだけ、たとえば 0.1 だけ減らします。これにより、線が上に移動します。次に線の傾きを調整して回転させていきます。たとえば、線をより急になるように回転させたい場合は、2 の値を 1.8 に減らすことができます。

同様に、点がその方向に遠い場合は、線をさらに回転して近づける必要があります。この場合、2 の値を 1.4 に減らすことができます。ただし、点が反対側にある場合は、線を反対方向に回転する必要があります。したがって、2 の値を 2.2 に増やす必要があるかもしれません。このプロセスをもう一度正確に見てみましょう。点が y 軸から遠くない場合、-6 の値を 0.01 などの少量だけ減らし、線をわずかに上に移動します。

ここで、2 の値を考えてみましょう。点の座標が (4, 5) の場合、水平距離は 4 です。傾きを調整するには、4 に学習率 (たとえば 0.04) を乗じて、2 の値を減らすことができます。これにより、ピボットを中心にラインが回転します。同様に、同じ原理を値 3 に適用できます。たとえば、点の座標が (4, 5) の場合、垂直距離は 5 です。5 に 0.05 などの学習率を乗算することで、値を減らすことができます。これにより、線がさらに回転します。最後に、2 を 0.04、3 を 0.05、-6 を 0.01 減らすと、方程式は 1.96x + 2.95y - 6.01 になります。パーセプトロン トリックとして知られるこの手法は、調整の方向と大きさの両方に対処します。要約すると、学習率 0.01 の場合、a を学習率 x b で減らし、b を学習率 x q で減らし、c を a で減らすことにより、ax + by + c = 0 の形式で方程式を更新できます。学習率。

ただし、もう 1 つ考慮すべき点があります。それは、点が誤って分類され、青い領域が上にあり、赤い領域が下にある場合です。このシナリオでは、値を減算するのではなく加算します。たとえば、2x + 3y - 6 = 0 の代わりに -2x - 3y + 6 = 0 がある場合、a、b、c に少量を追加します。 Y 軸に対する点の位置を考慮することで、値を増やすか減らすかを決定できます。ここで、さらに優れたアプローチであるロジスティック回帰アルゴリズムに移りましょう。

詳細には立ち入りませんが、概要と 2 つの課題を紹介します。最初の課題は勾配降下法と呼ばれるもので、誤差関数を使用して分類器のパフォーマンスを測定します。目標は、誤差を最小限に抑え、微積分を使用してアルゴリズムを改善することです。勾配降下法のプロセスは、前に説明したパーセプトロン アルゴリズムに似ています。

2 番目の課題は、ロジスティック回帰に適切な活性化関数を選択することです。アクティベーション関数は、入力の加重合計を 0 から 1 までの確率値に変換する役割を果たします。

一般的に使用される活性化関数の 1 つは、S 字型の曲線を持つシグモイド関数です。任意の実数を 0 から 1 までの値にマッピングします。シグモイド関数は次のように定義されます。

σ(z) = 1 / (1 + e^(-z))

ここで、z は入力の加重合計を表し、次のように計算されます。

z = a x + b y + c

ロジスティック回帰の目標は、観測データの尤度を最大化する a、b、c の最適値を見つけることです。これは、しばしばクロスエントロピー損失関数と呼ばれるコスト関数を最小化することによって達成されます。

コスト関数は、予測された確率と実際のクラス ラベルの間の差異を測定します。コスト関数の一般的な形式の 1 つは次のとおりです。

J(a, b, c) = -1/m * Σ(y * log(σ(z)) + (1-y) * log(1-σ(z)))

この式で、m はトレーニング例の数を表し、y は真のクラス ラベル (0 または 1)、σ(z) は陽性クラスの予測確率です。

コスト関数を最小限に抑えるために、勾配降下法を適用できます。勾配降下の背後にある考え方は、パラメーター値 (a、b、c) を、これらのパラメーターに関するコスト関数の勾配の逆方向に繰り返し更新することです。このプロセスは、コスト関数が最小化される収束まで継続します。

ロジスティック回帰における勾配降下の更新方程式は、パーセプトロン アルゴリズムのものと似ています。学習率 (α) を使用すると、パラメーターの更新は次のようになります。

a := a - α * ∂J/∂ab := b - α * ∂J/∂bc := c - α * ∂J/∂c

偏導関数 (∂J/∂a、∂J/∂b、∂J/∂c) は、各パラメーターに関するコスト関数の勾配を表します。微積分を使用して計算できます。

ロジスティック回帰では、勾配降下法を使用してパラメーター値を繰り返し更新することで、パーセプトロン アルゴリズムと比較してより柔軟にデータを分類する方法を学習できます。これは、バイナリ分類問題に対して広く使用されている効果的なアルゴリズムです。

結論として、ロジスティック回帰はパーセプトロン アルゴリズムの原理に基づいていますが、確率的フレームワークと異なるコスト関数が導入されています。勾配降下法を適用することでパラメータを最適化し、観測データの可能性を最大化します。シグモイド活性化関数を選択すると、ロジスティック回帰でクラス メンバーシップの確率推定値を生成できます。

Logistic Regression and the Perceptron Algorithm: A friendly introduction
Logistic Regression and the Perceptron Algorithm: A friendly introduction
  • 2019.01.01
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to logistic regression and th...
 

サポート ベクター マシン (SVM): わかりやすい紹介



サポート ベクター マシン (SVM): わかりやすい紹介

こんにちは、私の名前は Luis Serrano です。これはサポート ベクター マシン (略して SVM) についてのフレンドリーな入門書です。これは、線形モデルに関する 3 つのシリーズの 3 番目のビデオです。最初のものをまだ見ていない場合は、それは「線形回帰」と呼ばれ、2 つ目は「ロジスティック回帰」と呼ばれます。このビデオは、2 番目のビデオで説明した概念に基づいて構築されています。

まず、カナダのブリティッシュ コロンビア州にあるクエスト大学で私が教えた機械学習クラスの学生たちに敬意を表したいと思います。彼らは私がこのビデオの重要なアイデアを開発するのを手伝ってくれました。彼らと一緒に仕事をするのは素晴らしい経験でした。写真には、私の友人で大学の教授でもあるリチャード・ホシノと一緒に写っています。

それでは、SVM について詳しく見ていきましょう。サポート ベクター マシンは、線を使用して 2 つのクラスの点を分離することを目的とした重要な分類アルゴリズムです。ただし、SVM はさらに一歩進んで、点間の分離を最大化する可能な限り最適な線を見つけます。通常、SVM は線形最適化または勾配降下法という観点から説明されます。しかし、このビデオでは、私が「スモールステップ法」と呼んでいる、文献では見たことのない方法を紹介します。これは、ラインの分類能力を継続的に改善する反復的なアプローチです。

まず、ロジスティック回帰とパーセプトロン アルゴリズムに関する前のビデオを要約しましょう。このビデオでは、データを赤い点と青い点の 2 つのクラスに分ける線を見つけることを目的としていました。パーセプトロン アルゴリズムはランダムなラインから開始し、ポイントからのフィードバックに基づいて繰り返し調整します。アルゴリズムは、点を正しく分類するラインの能力を徐々に向上させるための小さなステップを実行します。

ここで、SVM に追加のステップを導入しましょう。 1 本の線だけを見つけるのではなく、データを効果的に分離しながら、できるだけ離れた 2 本の平行な線を見つけることを目指しています。これを説明するために、主線から等距離にある 2 組の平行線を想像してください。目標は、これら 2 つの線の間の距離を最大化することです。分離が大きいほど、分類は適切になります。

次に、最適なラインを選択するためにアルゴリズムをトレーニングする必要があります。これは、直線方程式にさまざまな定数を乗算することで実現されます。こうすることで、線間の距離を制御できます。定数が大きいほど分離が広くなり、定数が小さいほど線が近くなります。このようにして、距離を最大化する最適なラインを見つけることができます。

方程式を使用して線を分離するには、方程式の例を考えてみましょう: 2x + 3y - 6 = 0。この方程式に定数係数を乗算しても、線自体は変更されませんが、線間の距離に影響します。この定数を調整して線を拡大または縮小できます。

SVM アルゴリズムを形式化するために、線を広げるステップ サイズを決定する拡大率を組み込みます。直線方程式に 0.99 などの 1 に近い値を乗算することで、反復ごとに直線間の距離が徐々に増加します。

要約すると、SVM アルゴリズムは次の手順に従います。

  1. ランダムな線と 2 つの等距離の平行線から始めます。
  2. パーセプトロン アルゴリズムを適用して、ポイント フィードバックに基づいてラインの位置を調整します。
  3. 拡張率を導入して、線の間隔をわずかに広げます。
  4. これらの手順を繰り返して、分離を最大化する最適なラインを見つけます。

これは、SVM アルゴリズムの概要と、分類を改善するためにスモールステップ手法がどのように組み込まれているかを示しています。これは分類問題を解決するための効果的な手法であり、このビデオが SVM に関する独自の視点を提供することを願っています。

次に、モデルの誤差に寄与する別の側面を検討します。この側面は 2 つの線の間の距離に基づいています。これを実証するために、データセットを分類する 2 つのサポート ベクター マシン (SVM) を調べてみましょう。最初の SVM は線が太くなっていますが、点が誤って分類されています。一方、2 番目の SVM は線が細いですが、すべての点が正しく分類されています。問題は、どちらが優れているかということです。答えは、データセット、モデル、シナリオなどのさまざまな要因によって異なります。ただし、誤差関数を使用してこれを分析できます。

パーセプトロン アルゴリズムの誤差計算を思い出してみましょう。点が正しく分類された場合、誤差はゼロになります。点が誤って分類された場合、誤差は境界からの距離によって異なります。境界に近い点では誤差が小さくなり、境界から遠い点では誤差が大きくなります。この距離関係を捉える誤差関数が必要です。同様に、SVM には、青の分類エラーと赤の分類エラーという 2 つの分類エラーがあります。各エラーは、誤って分類された点からそれぞれの境界までの距離を測定します。これらの距離を合計することで、分類誤差が得られます。

さらに、ラインの近接性を示すマージン誤差もあります。マージン エラーが大きい場合は、線が互いに接近していることを意味し、マージン エラーが小さい場合は、線が離れていることを意味します。モデルのマージン誤差を小さくして、幅の広い線を示したいと考えています。したがって、誤差が小さいほど、モデルは優れていると言えます。興味深いことに、マージン誤差は L2 正則化の正則化項に似ています。

要約すると、SVM エラーは分類エラーとマージン エラーで構成されます。分類誤差は、誤分類されたポイントの数と誤分類の程度を測定します。マージン誤差は、線間の距離を示します。これら 2 つのエラーを合わせると、合計 SVM エラーが形成されます。私たちの目標は、ラインの位置と間隔を調整する SVM のトリックと同様に、勾配降下法を使用してこのエラーを最小限に抑えることです。

2 つのモデルの比較に戻ると、左側のモデルでは、ラインが遠く離れているため、分類誤差は大きくなりますが、マージン誤差は小さくなります。一方、右側のモデルには分類誤差は小さいですが、線が近接しているためマージン誤差が大きくなります。どのモデルが優れているかは、好みと要件によって決まります。ハイパーパラメータである C パラメータを使用して、マージン エラーに対する分類エラーの重要性を制御できます。小さい C はマージン エラーを強調し、左側のようなモデルになります。一方、大きい C は分類エラーを優先し、右側のようなモデルになります。

ハイパーパラメーターの選択は、モデルのパフォーマンスを評価するためのさまざまな値の実験とテストを通じて決定できることに注意することが重要です。ハイパーパラメータは機械学習アルゴリズムにおいて重要な役割を果たし、モデルを微調整することができます。

線形モデルに関するこのシリーズのビデオにご注目いただきありがとうございます。有益で楽しいものだと思っていただければ幸いです。気軽に「いいね」、シェア、コメントしてください。フィードバックをお待ちしております。今後のさらなるビデオにご期待ください。

Support Vector Machines (SVMs): A friendly introduction
Support Vector Machines (SVMs): A friendly introduction
  • 2019.01.27
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to support vector machines (S...
 

ノイズ除去および変分オートエンコーダー



ノイズ除去および変分オートエンコーダー

こんにちは、私は Luis Serrano です。このビデオではオートエンコーダーについて説明します。具体的には、ノイズ除去と変分オートエンコーダーに焦点を当てます。

オートエンコーダーは人気のある生成モデルであり、敵対的生成ネットワークと制限付きボルツマン マシンを含むシリーズの一部です。ジェネレーター モデルが好きなら、コメント内のリンクを必ずチェックしてください。

オートエンコーダーを理解するために、本を理解したいと考えて、知的な友人のアイシャに要約してもらうとします。アイシャの仕事は、本を数ページに凝縮して理解しやすくすることです。次に、別の友人であるベルタに、アイシャの要約に基づいて本全体を書き直すように依頼して、アイシャの要約の品質を評価します。ベルタのリライトされた本とオリジナルの本を比較して、そのパフォーマンスを評価します。

理想的には、アイシャは本の主要なアイデアをできるだけ正確に要約し、ベルタはそれらのアイデアに基づいて本を再構成することに優れています。アイシャとベルタにそれぞれ本を凝縮させ、再構築させることで、内容を深く理解することができます。この概念はオートエンコーダの基礎です。データを大幅に単純化してから再構築し、その過程で最も有用な特徴を抽出します。

オートエンコーダーは次元削減アルゴリズムであり、教師なし機械学習の一部です。現実のデータセットのコンテキストで、顔画像のデータセットを考えてみましょう。各画像は、各ピクセルの色を表す複数の数値を使用してエンコードされます。 Aisha (現在はエンコーダーと呼ばれています) は、目の大きさ、髪の色、その他の顔の特徴などの特徴を抽出することによって、このデータセットを要約します。これらの特徴はデコーダである Berta に渡され、抽出された特徴から顔を再構築するのに役立ちます。

データ ポイントの次元とは、データ ポイントをエンコードするために必要な数値の数を指します。この場合、顔画像データセットをより小さな特徴セットに要約することでその次元を削減し、再構成プロセス中に再度増加します。

オートエンコーダーは、データを縮小するエンコーダーとデータを元に戻すデコーダーの 2 つの部分で構成されます。目標は、再構成された出力が元の入力によく似ることです。縮小または簡略化されたデータは潜在スペースとして知られており、データを要約して圧縮して貴重な洞察を提供します。

2 つの重要なタイプのオートエンコーダは、ノイズ除去オートエンコーダと変分オートエンコーダです。ノイズ除去オートエンコーダーは、ノイズの多い画像などの破損したデータを取得し、それらの画像の鮮明で鮮明なバージョンを生成するようにトレーニングされています。一方、変分オートエンコーダーは、元のデータ空間の低次元バージョンを表す単純化された潜在空間からサンプルを選択することによって新しいデータを生成するようにトレーニングされます。

変分オートエンコーダは、空間などの高解像度画像を生成する場合に特に効果的です。ビデオでは、変分オートエンコーダーによって生成された顔のサンプルを見つけることができます。

オートエンコーダに入る前に理解しておくべき主な概念は、次元削減です。この概念を説明するために、画像のサンプル データセットを考えてみましょう。これらの画像は単純な 2x2 ピクセル画像であり、各ピクセルは異なる色 (赤、青、黄、緑) を持ちます。各ピクセルは 0 から 1 の範囲の強度値を持ち、1 はフルカラーの強度を表し、0 は白を表します。

このデータセット内の各データ ポイントは、4 つの色に対応する 4 つの強度値で記述されます。しかし、詳しく調べてみると、特殊な特性に気づきました。右上隅と左下隅のピクセルの強度は、左上隅と右下隅のピクセルの強度と同様に、常に同じです。これは、4 つの強度値すべてを個別にエンコードする必要がなくなったことを意味します。代わりに、左上と右下のピクセルの強度という 2 つの値だけで各データ ポイントを表すことができます。

これにより、データセットの次元が 4 次元から 2 次元に減りました。この削減により、冗長な特徴や相関する特徴を破棄しながら、画像の重要な情報をキャプチャできるようになります。また、データ表現も簡素化され、視覚化、保存、分析などのさまざまなタスクに役立ちます。

オートエンコーダーは、次元削減の同様の原理を使用しますが、より洗練された学習された方法を使用します。オートエンコーダーは、どの特徴を保持するか破棄するかを手動で選択するのではなく、入力データから最も有益な特徴を自動的に抽出することを学習します。

オートエンコーダーのアーキテクチャとトレーニング プロセスをさらに詳しく見てみましょう。前述したように、オートエンコーダはエンコーダとデコーダで構成されます。

エンコーダーは画像などの入力データを受け取り、一連の変換を適用して、潜在空間として知られる低次元表現にエンコードします。潜在空間は入力データの圧縮表現であり、その最も重要な特徴をキャプチャします。

デコーダは潜在空間表現を取得し、逆変換を適用して元の入力データをできるだけ正確に再構築します。目標は、入力データと再構成された出力の差を最小限に抑え、入力を忠実に再現できる圧縮表現を効果的に学習することです。

オートエンコーダーをトレーニングするには、元のサンプルとそれに対応するターゲット出力の両方が含まれる入力データのデータセットが必要です。トレーニング中に、オートエンコーダーは再構成誤差を最小限に抑えることを学習します。再構成誤差は通常、平均二乗誤差 (MSE) やバイナリ クロス エントロピーなどの損失関数を使用して測定されます。

トレーニング プロセスには、エンコーダーを介して入力データを供給して潜在空間表現を取得することが含まれます。次に、潜在空間表現がデコーダを通過してデータが再構築されます。再構成は元の入力と比較され、それらの間の不一致を使用して、バックプロパゲーションと勾配降下法を通じてエンコーダーとデコーダーの重みが更新されます。

大規模なデータセットでオートエンコーダーを繰り返しトレーニングすることにより、オートエンコーダーは入力データから最も顕著な特徴を抽出する方法を徐々に学習し、最小限の損失でそれを再構築できるようになります。

ノイズ除去オートエンコーダーと変分オートエンコーダーは、基本的なオートエンコーダー アーキテクチャの 2 つの一般的なバリエーションです。

ノイズ除去オートエンコーダーは、ノイズの多い入力データまたは破損した入力データを処理するように特別に設計されています。トレーニング中、オートエンコーダーには、ランダム ノイズの追加や歪みの導入などによって意図的に破損された入力データが与えられます。次に、オートエンコーダーは、元のクリーンなデータをできるだけ正確に再構築することで、入力のノイズを除去することを学習します。このノイズ除去機能により、オートエンコーダーはノイズに強い堅牢な表現を学習できるようになります。

変分オートエンコーダ (VAE) は、確率モデリングをオートエンコーダ フレームワークに組み込むことで、異なるアプローチを採用します。 VAE は、ガウス分布などの特定の確率分布に従う潜在空間を学習することを目的としています。これにより、VAE は潜在空間内の学習された分布からサンプリングすることで新しいデータ ポイントを生成できます。

VAE のトレーニングには、再構成エラーを最小限に抑えるだけでなく、潜在空間分布が目的の分布と一致する可能性を最大化することも含まれます。これは、再構成損失と、学習された分布と目的の分布との差を測定するカルバック・ライブラー (KL) 発散と呼ばれる正則化項の組み合わせによって実現されます。

再構成損失と KL 発散を同時に最適化することで、VAE は、学習された潜在空間の多様性を探索しながら、トレーニング データと同様の特性を示す新しいデータ サンプルを生成する方法を学習します。

オートエンコーダーは、入力データのコンパクトな表現を学習できる強力な教師なし学習モデルです。これらは、データの圧縮と再構築を行うために連携して動作するエンコーダーとデコーダーで構成されます。ノイズ除去オートエンコーダーと変分オートエンコーダーは、基本的なオートエンコーダー アーキテクチャを拡張し、ノイズ除去や生成モデリングなどの追加機能を提供する 2 つの注目すべきバリエーションです。

このセクションでは、追加の例をいくつか見てみましょう。ここでの最初の例は、右下隅の緑のピクセルの値が 0.2 であることを除いて、フルカラーのイメージのように見えます。ノイズ除去エンコーダーは、画像全体に色を付けることができます。次に、右上隅の値 0.8 の青いピクセルを除いた白い画像の別の例を示します。 neocenter エンコーダは、画像が白であるべきであると判断し、青のピクセルを白に変換します。リポジトリを探索し、独自のイメージを試して結果を確認することをお勧めします。要約すると、これらの外部エンコーダーは、任意の画像をトレーニングされたデータセット内の画像の 1 つに強制的に似せます。

これまでに使用してきた他のエンコーダーには 1 つのレイヤーしかありませんでしたが、ニューラル ネットワークではこれが常に当てはまるわけではないことに注意することが重要です。エンコーダには、畳み込み層や再帰層などの複数の層や複雑なアーキテクチャを含めることができます。以下は、MNIST データセット内の手書き文字の画像のノイズ除去に使用される畳み込みエンコーダーの例です。ご覧のとおり、これらのタイプのノイズ除去オートエンコーダーは、ノイズのある画像のクリーンアップに優れたパフォーマンスを発揮します。

さて、オートエンコーダーのもう 1 つの魅力的な特性に移りましょう。新しい画像など、まったく新しいデータ ポイントを生成する機能があります。これらの生成された画像は、データセット内の画像の単なるコピーではなく、データセット内の画像によく似た完全に新しい独自の画像です。この能力は本当に驚くべきものです。たとえば、オートエンコーダは、存在しない人の顔や、これまでに描かれたことのない手書きの数字を生成できます。これらの新しい画像を生成するには、デコーダーに注目するだけでよく、エンコーダーのことは忘れてください。デコーダは、潜在表現と呼ばれる一連の数値を取得し、それらの数値に基づいて画像を生成します。このプロセスにより、潜在空間が視覚的に表現されます。

これを説明するために、例を考えてみましょう。デコーダに数値 0.3 と 0.8 を入力するとします。強度 0.12 と 0.95 の画像を生成します。潜在空間は正方形として視覚化できます。水平軸は画像の赤と緑の対角線に対応し、垂直軸は画像の青と黄色の対角線に対応します。この正方形の各点はイメージを表し、右に移動するにつれて、赤と緑の対角線の強度が増加します。同様に、下から上に移動すると、青と黄色の対角線の強度が増加します。この視覚化により、潜在空間と、生成された画像との関係を理解することができます。

潜在空間では、任意の点を均一に選択できます。これは、2 つの数値を選択してデコーダに渡すのと同じです。このプロセスにより、これらの画像のいずれかを同じ確率で生成できるようになります。ただし、場合によっては、データセット内に存在する特定の画像のみを生成し、他の画像は除外したい場合があります。この状況は、潜在空間が大きくノイズが含まれており、目的のイメージを表すのはごく一部である場合によく見られます。これに対処するには、変分オートエンコーダーと呼ばれる技術を使用できます。

変分オートエンコーダーの場合、2 つの正規分布をトレーニングして、特定の関心領域内にある可能性が高い点を選択できるようにします。たとえば、目的の画像が存在する潜在空間に小さな楕円形の領域がある場合、オートエンコーダーがその領域内またはその近くに、空間の残りの部分よりも高い確率で画像を生成するようにしたいと考えます。これは、潜在空間の各座標に 1 つずつ、2 つの正規分布をトレーニングすることによって実現されます。これらの分布により、目的の領域の中心に向かう可能性が高い点を選択できます。これらの選択された点を潜在表現として使用し、デコーダーに渡すことで、より焦点が絞られ、希望の基準に合わせた画像を生成できます。

変分オートエンコーダのトレーニング プロセスには、再構成損失と正則化損失という 2 つの目的を同時に最適化することが含まれます。再構成損失は、従来のオートエンコーダと同様に、生成された画像が入力画像とどの程度一致するかを測定します。カルバック・ライブラー (KL) 発散と呼ばれることが多い正則化損失により、潜在分布が既知の事前分布 (通常は標準正規分布) に似るようになります。

正則化損失を追加すると、トレーニング中にトレードオフが生じます。一方で、再構成された画像が入力画像によく似ていることが望まれますが、これは再構成の損失を最小限に抑えることで実現されます。一方で、潜在分布を事前分布と一致させ、多様でリアルな画像の生成を促進したいと考えています。モデルがデータの重要な特徴を確実に捉えながら、生成された画像に創造性と斬新性を持たせるためには、これらの目的のバランスをとることが重要です。

変分オートエンコーダーがトレーニングされると、事前分布 (多くの場合、標準正規分布) からポイントをサンプリングし、それらをデコーダーに渡して新しい画像を生成できます。サンプリングプロセスを制御することで、潜在空間のさまざまな領域を探索し、入力データの多様なバリエーションを生成できます。

変分オートエンコーダは、画像生成、テキスト生成、異常検出などのさまざまなアプリケーションで広く使用されています。これらは、生成された出力の制御を可能にしながら、複雑なデータ分布を学習および生成するための強力なフレームワークを提供します。

要約すると、ノイズ除去オートエンコーダーや変分オートエンコーダーを含むオートエンコーダーは、画像の処理と生成において魅力的な機能を提供します。画像からノイズを除去し、欠落した部分を再構築し、まったく新しいユニークな画像を生成できます。ノイズ除去オートエンコーダーは、エンコーダー/デコーダー アーキテクチャを利用してデータの基礎となる構造を学習するのに対し、変分オートエンコーダーは確率モデリングを追加して、生成された出力の多様な変動をキャプチャします。これらの技術は教師なし学習の分野に革命をもたらし、コンピューター ビジョンや人工知能の研究に広範な応用が見出されています。

Denoising and Variational Autoencoders
Denoising and Variational Autoencoders
  • 2022.01.15
  • www.youtube.com
A video about autoencoders, a very powerful generative model. The video includes:Intro: (0:25)Dimensionality reduction (3:35)Denoising autoencoders (10:50)Va...
 

ディシジョン ツリー - わかりやすい紹介



ディシジョン ツリー - わかりやすい紹介

セラーノアカデミーへようこそ!このビデオでは、非常に人気のある機械学習モデルであるデシジョン ツリーについて説明します。デシジョン ツリーは現実のシナリオで効果的であり、直感的に理解できます。彼らは人間の意思決定方法を模倣しており、解釈を容易にしています。

デシジョン ツリーがどのように機能するかを説明するために、推奨システムの例を使用してみましょう。朝、ジャケットを着るかどうか決める必要があると想像してください。まずは外で雨が降っているかどうかを確認することから始めましょう。雨が降っている場合は、ジャケットを着用するのが賢明です。ただし、雨が降っていない場合は、気温をさらに考慮することができます。寒ければジャケットを着ますが、暖かければジャケットを着ません。この意思決定プロセスは意思決定ツリーとして表すことができ、各意思決定がノードになり、利用可能なオプションが新しいノードまたは最終的な意思決定につながるエッジになります。

特定の問題に対して複数のデシジョン ツリーが存在する場合があります。たとえば、別の決定ツリーには、月曜日かどうか、車の色、その日にコーヒーを飲んだかどうかのチェックが含まれる場合があります。ただし、すべてのデシジョン ツリーが同様に効果的であるわけではありません。私たちが説明した最初の決定木はうまく機能しているように見えますが、2 つ目の決定木には無関係なノードが含まれています。最適なデシジョン ツリーを見つけることが機械学習の目標です。機械学習は、データに最も適合するデシジョン ツリーを発見するのに役立ちます。このプロセスを理解するために例を見てみましょう。

ユーザーの人口統計に基づいたアプリの推奨システムからの小規模なデータセットを考えてみましょう。データセットには、性別、年齢、ダウンロードしたアプリの列が含まれています。このデータセットに基づいて、将来のユーザーにアプリを推奨するルールを策定したいと考えています。データを分析することで、傾向を観察することができます。たとえば、データセット内のすべての若者が TikTok をダウンロードしたため、16 歳の女性に TikTok を推奨するのは合理的です。同様に、30 代女性のほとんどが YouTube をダウンロードしていることを確認すると、30 歳女性に YouTube を推奨できます。このアプローチに従うことで、人口統計情報に基づいてさまざまなユーザーに推奨を行うことができます。

デシジョン ツリーの背後にある直感は、機械学習で使用される数学的原理と一致しています。デシジョン ツリーは、カテゴリ データと数値データの両方を処理できます。数値データの場合、さまざまな可能性を評価して最適な分割点を決定します。各分割ポイントによって決定スタンプが作成され、これらのスタンプの精度を比較して最適なものを見つけます。最適な分割が見つかったら、結果として得られるデータのサブセットに対してプロセスを繰り返すことで、デシジョン ツリーの構築を続けることができます。この反復プロセスにより、より大きな決定木を構築できるようになります。

デシジョン ツリーは、正確な予測を提供し、解釈が容易な強力な機械学習モデルです。これらは人間の意思決定プロセスを模倣しており、さまざまな種類のデータでトレーニングできます。特定の問題に対して最適なデシジョン ツリーを見つけることで、特定のデータに基づいて効果的な推奨事項や予測を行うことができます。

Decision trees - A friendly introduction
Decision trees - A friendly introduction
  • 2022.09.29
  • www.youtube.com
A video about decision trees, and how to train them on a simple example.Accompanying blog post: https://medium.com/@luis.serrano/splitting-data-by-asking-que...
 

ベイズ定理と隠れマルコフ モデルのわかりやすい紹介



ベイズ定理と隠れマルコフ モデルのわかりやすい紹介

こんにちは。基底定理と隠れマルコフ モデルの紹介へようこそ。私は Udacity の Luis Serrano です。そこでは機械学習と人工知能のコースを教えています。このシナリオには、アリスとボブという名前の 2 人の友人がいて、遠く離れて住んでおり、電話で通信しています。ボブの気分は天気によって変わります。晴れていればボブは幸せですが、雨が降っていればボブは不機嫌になります。アリスはボブの気分から天気を推測できます。

シナリオをさらに複雑にしてみましょう。ボブは晴れているとほとんど幸せですが、例外もあります。雨の日はたいてい不機嫌になるが、例外もある。過去のデータに基づいて確率を計算しました。晴れているとき、ボブは 80% の確率で幸せになり、20% の確率で不機嫌になります。雨が降っているとき、ボブは 60% の確率で不機嫌になり、40% の確率で幸せになります。

次に、具体的な状況を考えてみましょう。ボブはアリスに、今週は感情のジェットコースターだったと言います。月曜日には彼は幸せで、火曜日には不機嫌になり、水曜日にはまた幸せになり、木曜日には不機嫌になり、金曜日には幸せでした。アリスはボブの気分に基づいて天気を推測しようとします。

この一連の気分の可能性を判断するために、隠れマルコフ モデルを使用します。これには、観察 (ボブの気分) と隠れた状態 (天気) があります。遷移確率 (ある状態から別の状態に移行する確率) と放出確率 (隠れた状態から観測値が放出される確率) を計算します。

このビデオでは 4 つの質問に答えます。まず、これらの確率をどのように計算するのでしょうか?次に、ボブの気分に関係なく、ランダムな日が晴れまたは雨になる確率はどれくらいですか?第三に、ボブが今日幸せなら、晴れか雨の確率はどれくらいですか?そして 4 番目に、ボブが 3 日間連続して幸せである場合、最も可能性の高い天気は何ですか?

過去のデータを分析することで確率を計算できます。特定の気象パターンの発生とボブの気分を数えて、確率を推定します。十分なデータがあれば、実際の確率を適切に推定できます。

ボブの気分とは無関係に、ランダムな日が晴れまたは雨になる確率を決定するには、過去のデータにおける晴れと雨の日の発生をカウントするか、遷移確率を使用します。この場合、晴れる可能性が 2/3、雨が降る可能性が 1/3 であることがわかります。

ボブが今日幸せなら、晴れと雨の確率が変わります。ベイズの定理を使用して確率を更新します。たとえば、ボブが幸せで、今日が水曜日の場合、事前確率 (2/3 が晴れ、1/3 が雨) と放出確率 (晴れの場合は 80% が晴れ、20% が不機嫌、晴れの場合は 40% が幸せで、60% が不機嫌) を考慮します。雨の)。ベイズの定理を使用して、事後確率 (8/10 晴れ、2/10 雨) を計算します。

これらの確率により、ボブの気分に基づいて天気を推測することができます。ボブが幸せであれば、晴れる可能性が高くなります。ボブが不機嫌なら、雨が降る可能性が高くなります。新しい情報に基づいて確率が変化します。

隠れマルコフ モデルとベイズの定理を使用して、ボブの気分から天気を推測します。過去のデータを解析することで、遷移確率や排出確率を計算します。これは、ボブの気分に基づいて特定の気象パターンの可能性を判断するのに役立ちます。

A friendly introduction to Bayes Theorem and Hidden Markov Models
A friendly introduction to Bayes Theorem and Hidden Markov Models
  • 2018.03.27
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly introduction to Bayes Theorem and ...
 

シャノンのエントロピーと情報利得



シャノンのエントロピーと情報利得

こんにちは、私はルイ・セラーノです。エントロピーと情報獲得について話すためにシャノンと一緒に来ました。より詳細な説明に興味がある場合は、このトピックに関するブログ投稿を書いています。コメントセクションにリンクがあります。

まずは物理学に由来するエントロピーの概念を紹介しましょう。水の 3 つの状態、固体 (氷)、液体 (水)、気体 (水蒸気) を使って説明できます。各状態には異なるレベルのエントロピーがあり、オブジェクト内の粒子が移動する速度を測定します。氷は粒子がゆっくりと移動するため、エントロピーが低く、安定した物質です。粒子の動きが少し速いため、水のエントロピーは中程度です。水蒸気は内部の粒子が非常に速く移動するため、エントロピーが高くなります。

エントロピーは物理学の概念であるだけでなく、数学、特に確率論にも登場します。これを実証するために、それぞれに異なる色のボールが入っている 3 つのバケツがある例を考えてみましょう。バケツ 1 には赤いボールが 4 つ、バケツ 2 には赤いボール 3 つと青いボール 1 つがあり、バケツ 3 には赤いボール 2 つと青いボール 2 つがあります。直感に基づいて、バケット 1 のエントロピーは低く、バケット 2 のエントロピーは中程度、バケット 3 のエントロピーは高いと推測できます。

私たちの直観を検証するには、各バケツ内のボールのセットをどの程度再配置できるかを調べることでエントロピーを測定できます。最初のセットには 4 つの赤いボールがあり、すべてのボールの色が区別できないため、可能な再配置は限られています。 2 番目のセットでは、いくつかの方法でボールを再配置できます。最後に、第 3 セットでは、さらに多くのアレンジが可能です。エントロピーの定量的な尺度を提供する二項係数を使用して配置の数を計算できます。可能な再配置の程度に基づいて、バケット 1 のエントロピーが低く、バケット 2 のエントロピーが中程度、バケット 3 のエントロピーが高いことが確認できます。

ただし、情報に基づいてエントロピーを決定するより正確な方法があります。これらのバケツを使ってゲームをプレイすることを想像してみましょう。ボールの特定の配置から開始し、それらをランダムに描画して、元の配置の正確な順序を再現しようとします。成功すれば、多額の賞金を獲得できます。そうでなければ、何も勝ち取れません。ここで、どのバケットでゲームをプレイするのが最適で、どのバケットが最悪でしょうか?という疑問が生じます。

よく考えてみると、すべてのボールが赤であり、元のシーケンスを再現しやすいため、バケット 1 が最適な選択であることがわかります。バケット 2 には赤と青のボールが混合されているため、中程度の選択になります。バケット 3 は、どの色を描画するかわからないため、最悪の選択です。バケツから特定のボールを引き出す可能性を考慮することで、各ゲームで勝つ確率を計算できます。バケット 1 の場合、すべてのボールが赤いため、勝つ確率は 100% です。バケット 2 の場合は青いボールが存在するため確率が低くなり、バケット 3 の場合は赤または青のボールを引く可能性が等しいため、確率が最も低くなります。

ここで、確率とそれに対応するエントロピー レベルを表にまとめてみましょう。バケット 1 が勝つ確率が高く、その結果エントロピーが低いことがわかります。バケット 2 の確率は中程度であり、エントロピーが中程度であることを示しています。最後に、バケット 3 は勝つ確率が最も低く、エントロピーが高くなります。

エントロピーの公式を確立するには、対数の概念を利用できます。積を扱う代わりに、対数を使用して積を合計に変換できます。積の対数は対数の和に等しい。確率の積の対数を取ることで、それを個々の確率の合計に変換できます。この変換により、イベントに関連する平均的な情報内容または不確実性としてエントロピーを計算できるようになります。

エントロピーの式は次のように与えられます。

エントロピー = - (p1 * log(p1) + p2 * log(p2) + ... + pn * log(pn))

ここで、p1、p2、...、pn は、さまざまな結果または状態の確率を表します。対数関数 (通常、底が 2) は、情報の指数関数的な性質を説明するために使用されます。

この式を例に適用して、各バケットのエントロピーを計算してみましょう。すべてのボールが赤いバケット 1 では、赤いボールを引く確率は 1 (100%) です。したがって、バケット 1 のエントロピーは次のようになります。

エントロピー(バケット 1) = - (1 * log2(1)) = 0

1 の対数は 0 であるため、エントロピーは 0 であり、不確実性や情報利得がないことを示します。

バケット 2 には、赤いボールが 3 つと青いボールが 1 つあります。赤いボールを引く確率は 3/4 ですが、青いボールを引く確率は 1/4 です。したがって、バケット 2 のエントロピーは次のようになります。

エントロピー(バケット 2) = - (3/4 * log2(3/4) + 1/4 * log2(1/4))

値を計算すると、次のようになります。

エントロピー(バケット2) ≈ 0.811

この値は、中程度の不確実性または情報の獲得を表します。

バケット 3 に進むと、赤いボールと青いボールが 2 つずつあり、赤いボールと青いボールを引く確率はそれぞれ 1/2 です。したがって、バケット 3 のエントロピーは次のようになります。

エントロピー(バケット 3) = - (1/2 * log2(1/2) + 1/2 * log2(1/2))

式を簡略化すると、次のようになります。

エントロピー(バケット 3) = - (1/2 * (-1) + 1/2 * (-1)) = 1

バケット 3 のエントロピーは 1 で、最高レベルの不確実性または情報利得を示します。

エントロピーは、システム内の不確実性または情報のレベルを定量化します。確率の概念を使用すると、さまざまな結果に関連付けられた平均的な情報内容としてエントロピーを計算できます。エントロピー値が高いほど不確実性が高いことを示し、エントロピー値が低いほど不確実性が低いか、結果がより予測可能であることを示します。エントロピーと情報ゲインを理解することは、システムの複雑さと予測可能性を測定および分析できるため、情報理論、機械学習、データ分析などのさまざまな分野で貴重です。

Shannon Entropy and Information Gain
Shannon Entropy and Information Gain
  • 2017.11.04
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAccompanying blog post: https://medium.com/p/...
 

単純ベイズ分類器: フレンドリーなアプローチ



単純ベイズ分類器: フレンドリーなアプローチ

こんにちは、私は Luis Serrano です。このビデオでは、Naive Bayes 分類器について説明します。知識ベースは確率において非常に重要であり、機械学習において非常に役立ちます。これを確率比を含む複雑な式として見るのではなく、別のイベントに関する情報がある場合に、あるイベントが発生する確率として考えてみましょう。 Naive Bayes は、複数のイベントを扱う際の数学を単純化するために素朴な仮定を行うことによってこの概念を拡張します。

説明のために、スパム検出器を構築してみましょう。まず 100 件の電子メールのデータセットから始めます。そのうち 25 件はスパムで、75 件はスパムではありません。私たちの目標は、スパムメールと相関するプロパティを特定することです。 「買う」という言葉に注目してみましょう。スパムメールの中には「購入」が含まれるメールが 20 件あり、スパム以外のメールには「購入」が含まれるメールが 5 件あります。これに基づいて、メールに「購入」が含まれている場合は、80% の確率でスパムであると結論付けることができます。

ここで、「安い」という言葉について考えてみましょう。スパムメールでは「安い」が付いているものが 15 件、スパムメール以外では「安い」が付いているものが 10 件ありました。メールに「安い」という文言が含まれている場合、スパムである可能性は 60% です。

しかし、「買い」と「安い」の両方を一緒に分析したい場合はどうすればよいでしょうか?スパムメールの中には両方の単語が含まれているメールが 12 件ありますが、スパムメール以外のメールにはこの組み合わせの例はありません。メールに「購入」と「格安」の両方が含まれている場合は、100% スパムである可能性があります。ただし、100% の確実性は分類子にとって強すぎて非現実的であるように思えます。

この問題は、「購入」と「安い」の両方を含む非スパムメールのインスタンスが見つからなかったために発生します。この問題に対処するには、より多くのデータを収集することができますが、代わりの解決策を検討してみましょう。このようなケースの発生を推定するための仮定を立てることができます。メールの 0.5% に「購入」と「安い」の両方が含まれていると仮定します。この仮定は、データセット内の「購入」と「安い」の出現率に基づいています。

この仮定に基づいて、電子メールに「購入」と「安い」の両方が含まれている場合にスパムである確率を計算できます。ベイズの定理を適用すると、確率は約 94.737% であることがわかります。

単純ベイズ分類器では、テーブルにデータを入力します。ただし、特定のイベントがデータセット内でまばらすぎる場合、イベントは独立していると単純に仮定します。実際には当てはまらない場合でも、この仮定により計算が簡素化されます。これらの仮定を行うことで、確率を推定し、スパム分類器を構築できます。

Naive Bayes classifier: A friendly approach
Naive Bayes classifier: A friendly approach
  • 2019.02.10
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA visual description of Bayes' Theorem and th...
 

ベータ版の配布は 12 分で完了します。



ベータ版の配布は 12 分で完了します。

こんにちは、私は Luis Serrano です。このビデオでは、ベータ版の配布のトピックについて説明します。ベータ分布は、確率の確率をモデル化するため、確率と統計において重要な概念です。この魅力的なテーマをさらに深く掘り下げてみましょう。

ベータ分布を理解するために、コイン 1、コイン 2、コイン 3 の 3 つのコインを含む例を考えてみましょう。これらのコインは表または裏のいずれかに着地する可能性があります。ただし、3 つのコインはすべて不正操作されており、どちらも 2 分の 1 の確率で表を返すことはありません。

コイン 1 は 0.4 の確率で表を返し、コイン 2 は 0.6 の確率で、コイン 3 は 0.8 の確率で表を返すと仮定します。さて、どれがどれであるかを知らずに、これらのコインの 1 つをランダムに選択すると想像してください。課題は、コインを 5 回投げて、どのコインを選んだかを推測することです。

表が 3 つ、尾が 2 つこの順序で得られたとします。問題は、私たちがどのコインをつかんだと思うかということです。直感的には、5 回中 3 回表が返されることが予想されるため、コイン 2 に傾くかもしれません。ただし、まだ不確実性があります。私たちがコイン 1 またはコイン 3 を選択し、観察された表と裏の順序が単なる偶然である可能性があります。

各コインを選択する確率を決定するには、ベイズの定理を適用できます。それぞれのケースを個別に調べてみましょう。

コイン 1 の場合、表が 3 回、裏が 2 回得られる確率は次のように計算されます: (0.4 * 0.4 * 0.4) * (0.6 * 0.6) = 0.0230。

コイン 2 の確率は、(0.6 * 0.6 * 0.6) * (0.4 * 0.4) = 0.0346 です。

コイン 3 の確率は、(0.8 * 0.8 * 0.8) * (0.2 * 0.2) = 0.0205 です。

考えられるイベントはこれら 3 つだけなので、それらの確率を合計すると 1 になるはずです。これらの確率を、それぞれの確率を合計 0.0230 + 0.0346 + 0.0205 で割って正規化します。これにより、正規化された確率が得られます。コイン 1、コイン 2、コイン 3 に対してそれぞれ 0.295、0.443、0.262 となります。

ご覧のとおり、コイン 2 の確率が最も高くなりますが、コイン 1 またはコイン 3 を選択する可能性はまだあります。これらの確率は、確率理論の強力なツールであるベイズの定理を使用して取得されます。詳しく知りたい場合は、私のチャンネルに詳しく説明したビデオがあります。

次に、同じ例を考えてみましょうが、コインの数が多くなります。コインを投げて、表が 7 回、裏が 3 回出たとします。このコインは 10 枚のコインのうちの 1 つであり、表が出る確率はそれぞれ 0.0 から 0.9 の範囲で、コインごとに 0.1 ずつ増加します。

この場合、どのコインが選ばれたと思いますか?繰り返しますが、最も可能性の高いオプションは 70% の確率で表になるコインで、これはコイン 7 に相当します。各コインを選択する確率を計算するには、以前と同様の計算を実行します。

各コインについて、表が 7 回、裏が 3 回得られる確率を計算します。次の式を使用します: (p^7) * ((1-p)^3)。ここで、p は表に着地する確率を表します。次に、各確率をすべての確率の合計で除算して、これらの確率を正規化します。

コインの数が増えると、計算はより複雑になります。ただし、基本的な原則は同じままです。観察された結果と各コインに関連付けられた確率に基づいて、各コインの確率を計算します。これらの確率を正規化することで、どのコインが選択されたかについての不確実性を表す分布が得られます。

ここで、この概念をベータ版ディストリビューションに一般化してみましょう。ベータ分布は、区間 [0, 1] で定義された連続確率分布です。これは、多くの場合アルファとベータとして表される 2 つの形状パラメータによって特徴付けられます。これらのパラメータは分布の形状を決定します。

ベータ分布は柔軟性があり、アルファとベータの値に応じてさまざまな形状をとることができるため、確率のモデル化に特に役立ちます。これにより、一様なものから偏ったもの、集中したものから分散したものまで、幅広い確率分布を捉えることができます。

ベータ分布の確率密度関数 (PDF) は次の式で与えられます。 f(x) = (x^(alpha-1)) * ((1-x)^(beta-1)) / B(alpha, beta)、ここで B(alpha, beta) は、区間 [0, 1] にわたって分布が 1 に積分されることを保証するベータ関数です。

ベータ分布の平均は次の式で求められます: E[X] = alpha / (alpha + beta)、分散は Var[X] = (alpha * beta) / ((alpha + beta)^2 * (アルファ + ベータ + 1))。

ベータ分布は、ベイズ統計、機械学習、意思決定分析などのさまざまな分野で一般的に使用されます。成功率、割合、確率などの不確実な量をモデル化でき、パラメータ推定、仮説検定、ランダム サンプルの生成に使用できます。

ベータ分布は、特に不確実な確率を扱う場合、確率と統計の基本的な概念です。これらは、広範囲の確率分布をモデル化するための柔軟なフレームワークを提供します。ベータ分布の特性と用途を理解することで、より多くの情報に基づいた意思決定を行い、より効果的にデータを分析できるようになります。

The Beta distribution in 12 minutes!
The Beta distribution in 12 minutes!
  • 2021.06.13
  • www.youtube.com
This video is about the Beta distribution, a very important distribution in probability, statistics, and machine learning. It is explained using a simple exa...
 

トンプソン サンプリング、武装した盗賊団、およびベータ版の配布



トンプソン サンプリング、武装した盗賊団、およびベータ版の配布

こんにちは、ルイ・ソラノです。このビデオでは、片腕盗賊のコンセプトとベータ版の配布について説明します。一般に片腕盗賊として知られるスロットマシンが並ぶカジノにいる自分を想像してみてください。これらのマシンをプレイすると、考えられる結果は 2 つあります。1 つはコインが出て勝ちを示すか、何も出ずに負けになるかのどちらかです。目的は、賞金を最大化するために、どのマシンが優れているか、どのマシンがそうでないかを判断することです。

列内の各マシンには、「p」で示されるコインを生成する異なる確率があります。たとえば、左側のマシンの確率が 0.1 (10%) の場合、平均して 10% の確率でコインを獲得できるが、90% の確率で負けることを意味します。同様に、右側のマシンの確率は 0.7 (70%) で、コインを獲得する確率が 70% と高く、負ける確率は 30% であることを示しています。

課題は、各マシンの「p」の実際の値がわからないため、マシンをプレイして値を推定する必要があることです。目標は、すべてのマシンをプレイし、勝つ可能性が高いマシンを特定してそれらに集中すると同時に、パフォーマンスの低いマシンに改善の機会を与えることです。

考慮すべき戦略は 2 つあります。「探索」戦略と「悪用」戦略です。探索戦略には、各マシンを複数回プレイしてデータを収集し、勝つ確率を推定することが含まれます。たとえば、最初のマシンを 15 回プレイして 2 回勝った場合、確率は 2/15 と推定されます。各マシンに対してこのプロセスを繰り返すことで、推定確率を比較し、勝つ可能性が最も高いマシンを特定できます。

一方、エクスプロイト戦略には、各マシンのプレイ回数を減らし、利用可能なデータに基づいて意思決定を行うことが含まれます。マシンを数回プレイしただけでは、勝つ確率を正確に見積もるのに十分な情報が得られない可能性があります。このアプローチでは、十分なデータを収集するのに十分な領域を探索できない可能性があるため、潜在的な勝者を逃すリスクがあります。

最適な戦略を見つけるには、探索と活用を組み合わせる必要があります。トンプソン サンプリングとして知られるこのアプローチには、各マシンのベータ分布の維持が含まれます。ベータ分布は、勝ち数と負け数に基づいて勝つ確率を表します。プレイごとにベータ版の分布を更新することで、推定値を調整できます。

トンプソン サンプリングでは、ランダム性を伴うマシン間の競争が行われます。ベータ配布からランダムなポイントが選択され、その時点で最も高い値を持つマシンが次にプレイするマシンとして選択されます。このテクニックにより、より強力なパフォーマンスを持つマシンを優先しながら、すべてのマシンを探索することが可能になります。

ベータ分布を使用したトンプソン サンプリングは、ギャンブル以外にも幅広い用途があります。 Web デザインや広告の A/B テスト、実験薬の有効性を判断するための医療試験、探索と活用が重要なさまざまな意思決定シナリオで使用されます。

結論として、ベータ分布を使用したトンプソン サンプリングは、探索と活用を組み合わせて最適な決定を下す強力な手法です。他の可能性を模索しながら、勝つ確率が高いマシンに焦点を当てることで、利益を最大化することができます。トンプソン サンプリングはさまざまな分野での応用が見出され、不確実性の下での意思決定への実用的なアプローチを提供します。

ご視聴いただきありがとうございます。このビデオが役に立ったと思われた場合は、チャンネル登録、いいね、共有をお願いします。また、私の著書「Rocking Machine Learning」をチェックすることをお勧めします。この本では、教師あり機械学習をわかりやすく魅力的な方法で説明しています。以下のコメントセクションでこの本やその他のリソースを見つけることができます。今後のトピックについてお気軽にコメントや提案を残してください。Twitter で私をフォローすることも忘れないでください。
Thompson sampling, one armed bandits, and the Beta distribution
Thompson sampling, one armed bandits, and the Beta distribution
  • 2021.07.06
  • www.youtube.com
Thompson sampling is a strategy to explore a space while exploiting the wins. In this video we see an application to winning at a game of one-armed bandits.B...