私はニューラルネットワークを初めて使用し、ニューラルネットワークが分類問題で非常に優れている理由を数学的に理解しようとしています。
小さなニューラルネットワーク(たとえば、入力が2つ、非表示層に2つのノード、出力が2つのノード)の例をとると、出力に複雑な関数があり、線形の組み合わせではほとんどシグモイドになります。シグモイドの。
それで、それはどのように彼らが予測を上手くするのですか?最終的な関数は、ある種のカーブフィッティングにつながりますか?
私はニューラルネットワークを初めて使用し、ニューラルネットワークが分類問題で非常に優れている理由を数学的に理解しようとしています。
小さなニューラルネットワーク(たとえば、入力が2つ、非表示層に2つのノード、出力が2つのノード)の例をとると、出力に複雑な関数があり、線形の組み合わせではほとんどシグモイドになります。シグモイドの。
それで、それはどのように彼らが予測を上手くするのですか?最終的な関数は、ある種のカーブフィッティングにつながりますか?
回答:
ニューラルネットワークは分類に優れています。状況によっては予測に至る場合もありますが、必ずしもそうではありません。
分類におけるニューラルネットワークの能力の数学的理由は、普遍近似定理です。これは、ニューラルネットワークがコンパクトなサブセット上の任意の連続した実数値関数を近似できることを示しています。近似の質はニューロンの数に依存します。また、ニューロンを既存の層に追加するのではなく、追加の層に追加すると、近似の品質がより速く向上することも示されています。
さらに、よく理解されていないバックプロパゲーションアルゴリズムの有効性を追加すれば、実際にUATが約束する機能や何か近い機能を学習できるように設定できます。
ニューラルネットワークを使用すると、データを分類するだけです。正しく分類すれば、将来の分類が可能になります。
使い方?
パーセプトロンのような単純なニューラルネットワークは、データを分類するために1つの決定境界を描くことができます。
たとえば、単純なニューラルネットワークで単純なAND問題を解決したいとします。x1とx2を含む4つのサンプルデータと、w1とw2を含む重みベクトルがあります。初期の重みベクトルが[0 0]であるとします。NNアルゴリズムに依存した計算をした場合。最後に、重みベクトル[1 1]またはこのようなものが必要です。
グラフィックに集中してください。
それは言う:入力値を2つのクラス(0と1)に分類できます。OK。それでは、どうすればよいですか?単純すぎる。最初に入力値を合計します(x1とx2)。
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 2
それは言う:
sum <1.5の場合、そのクラスは0
sum> 1.5の場合、そのクラスは1です。
ニューラルネットワークはさまざまなタスクに優れていますが、その理由を正確に理解するには、分類などの特定のタスクを実行してより深く学ぶ方が簡単な場合があります。
簡単に言うと、機械学習技術は、過去の例に応じて、特定の入力がどのクラスに属するかを予測する関数を学習します。ニューラルネットを際立たせるのは、データ内の複雑なパターンでさえ説明できるこれらの関数を構築する能力です。ニューラルネットワークの中心は、Reluのようなアクティブ化関数です。これにより、次のような基本的な分類境界を描画できます。
そのような数百のRelusを一緒に構成することにより、ニューラルネットワークは任意に複雑な分類境界を作成できます。次に例を示します。
この記事では、ニューラルネットワークを機能させるものの背後にある直感について説明します。https://medium.com/machine-intelligence-report/how-do-neural-networks-work-57d1ab5337ce