私はニューラルネットワークについて学ぶことに興味があり、例として実験的に導かれた次のデータセットを試しました。MATLABの確率的ニューラルネットワークによる出力を検証する方法は?
私はニューラルネットワークに次の入力ベクトルを使用しています。
X = [1 1; 1 2; 1 3; 1 4; 4 1; 4 2; 4 3; 4 4; 7 1;7 2; 7 3; 7 4]';
Tc = [1 1 2 3 1 1 2 2 1 1 2 2];
入力データを入力ベクトルTcで記述される3つのクラスに分けたいと考えています。次に、私はターゲットクラスのインデックスTcをベクトルTに変換し、使用している拡散値は1です。
MATLABでnewpnn関数を使用して、3つのクラスの決定境界を取得しています。
私は判断の境界が適切であるかどうかの検証に関して疑問があります。私は1つのデータで出力を検証していますX =[2;3.55]
はクラス2に属しています。出力プロットの黒い点で示されています。青はクラス1である。黄色はクラス2に属する領域である。赤はクラス3である。
図に示されるように、ニューラルネットワークによる予測はクラス2であり、これは実際のクラスと一致するセット。
私のニューラルネットワークが正しいと検証されたことを意味しますか?
P.S.私はニューラルネットワークの基本的な理解を持っています。また、私は、より多くの訓練の例と検証セットを持っているという概念を理解しています。私は実験的に多くのデータを得ることができないので、利用可能な詳細に対応する答えを期待しています。
答えは "はい、あなたのNNは有効である、あなたは良い仕事をした"と思われます。ただし、トレーニングとテストは正確に同じであるように見えます(上の2つのプロットを参照)ので、正しい答えが得られます。トレーニングで使用された値でNNを検証してみてください。 –
@AnderBiguriあなたの答えに感謝します。しかし、この質問を投稿した直後に、私はそれを聞いてかなりばかげていると感じました。私は、訓練データがどんな種類の決定的な訓練でも非常に少ないことを知っています。私はキュービック補間を使ってより多くのデータポイントを得ました(120)。私はネットワークをトレーニングするために100を、テストのために20を保った。今、予測はかなり大きくなった。精度は約98%です。私は、この問題は今解決されていると思うが、私はこの質問のために奨励金を宣言して以来、この質問を削除することはできない。あなたの答えをもう一度おねがいします。 – rcty