問題タブ [perceptron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - パーセプトロン学習アルゴリズムは収束に多くの反復を要しますか?
Caltech Machine Learning Course ( http://work.caltech.edu/homework/hw1.pdf )の宿題-1 を解いています。質問 7 ~ 10 を解決するには、PLA を実装する必要があります。これはPythonでの私の実装です:
質問 7 の回答によると、トレーニング セットのサイズがパーセプトロンの収束にかかるはず15 iterations
ですが、私の実装では平均50000 iteration
. トレーニング データはランダムに生成されますが、x=4、y=2 などの単純な線のデータを生成しています。これが私が間違った答えを得ている理由ですか、それとも他に何か問題がありますか。私のトレーニングデータのサンプル(y = 2を使用して分離可能):
形式になっていますx1 x2 output(y)
r - パーセプトロン (単層 2D) - 直線上のサンプルでの結果
私は単純な 2D 単層パーセプトロンを実装しようとしましたが、最終的にこの解決策になりました。
特徴ベクトルは行単位で機能し、クラス ベクトルは列単位で 1 と -1 の値を必要とします。
ほとんどのテストでは正しく動作しますが、(0,0) (0,1)
クラスのようなサンプルがある場合(1,-1)
、結果が得られません。これは、2 つの点が直線 (座標軸に対して水平) 上にある私の例のいくつかで発生します。異なる開始ベクトルを選択しようとすると、正しく動作することがあります (ここでは決定論的な動作はないと思います)。それは正しい動作ですか、それとも私の実装は間違っていますか?
助けてくれてありがとう、マイナー。
編集:最初の投稿のいくつかの変更。
悪いデータセット:
良いデータセット:
machine-learning - 単純なパーセプトロン モデルと XOR
ここでしか質問しなくてすみません。私も質問に答えられるように勉強頑張ります!
多くの論文や記事では、MLP のアクティベーション関数の選択に制限はないと主張しています。
与えられた条件にどれが最も適しているかだけが問題のようです。
また、単純なパーセプトロンでは XOR 問題を解決できないことが数学的に証明されているとも書かれています。
活性化関数にステップ関数を使用していた単純なパーセプトロン モデルを知っています。
しかし、基本的にどのアクティベーション関数を使用しても問題ない場合は、
活性化関数は XOR 問題で機能します。(2入力1出力の隠れ層パーセプトロンモデルの場合)
人為的な関数を使用することは、モデルの学習に適していないことを知っています。しかし、とにかく機能するのであれば、なぜ機能しないことが証明されていると記事が言っているのでしょうか?
この記事は、ステップ関数を使用した単純なパーセプトロン モデルを意味しますか? それとも、単純なパーセプトロンの活性化関数は MLP とは異なり、ステップ関数でなければなりませんか? または私は間違っていますか?
algorithm - Rapidminer の多層パーセプトロンの奇妙な結果
1000 例のデータセットがあり、500 例がポジティブで 500 例がネガティブです。私はそれらを 0.7 の分割比率で検証してから、25 ノードの 2 つのレイヤーを持つことを除いて、デフォルトのパラメーターを使用して Rapidminers MP に配置します。
しかし、それを検証すると、私の予測はすべて否定的であり、その理由がわかりません。最適化された MP が貧弱であっても (まさにこの例のように)、少なくとも 1 つの肯定的な予測が得られるはずです。
まあ、これは私がrapidminerでこれを行うのは初めてで、おそらく非常に基本的な間違いですが、見つけることができません.
XML コード:
python - Python mlpy テキストの分類
私は mlpy ライブラリを初めて使用し、文の分類を実装する最良の方法を探しています。私はmply Basic Perceptronを使用してそれを行うことを考えていましたが、私の理解では、事前定義されたベクトルサイズを使用していますが、マシンが学習している間にベクトルのサイズを動的に増やす必要があります.巨大なベクトル (すべての英単語)。私が実際に行う必要があるのは、文のリストを取得し、それらから分類子ベクトルを作成することです。アプリケーションが新しい文を取得すると、それをラベルの 1 つに自動的に分類しようとします (教師あり学習)。
アイデア、考え、例は非常に役立ちます。
ありがとう
algorithm - アルゴリズム選択のアドバイス
私は、車両の形状をスキャンし、それがどのタイプの車両であるかを検出しようとするプロジェクトを実行する必要があります。スキャンは、「車両スキャナー」と呼ばれるセンサーで実行されます。これらのセンサーは、わずか 50 の光のビームであり、各ビームには受容体と放出があります。写真に示されているように:
センサーから各ビーム (ブロックまたはブロック解除) の生の状態を取得し、その継続的なスキャンにより、車両のおそらく非常に低解像度の画像を作成できます。
私の質問は、車両の形状を検出して識別するためにどのようなアルゴリズム/手法を使用できるかということです。車輪を数えたいのですが、可能であれば、その形状が車なのか、トラックなのか、ピックアップなどなのかを識別しようとしています。少なくとも車輪を数えたい。
私はニューラル ネットワークのトレーニングを検討していますが、おそらく、この種のパターン検出には、私が使用できる、そして私が気付いていない、より単純なアプローチになる可能性があります。その他の提案/アドバイスは大歓迎です
matlab - forループでプロット
次のコードを使用して単層パーセプトロンを実装しました。
トレーニングの過程で線を引いて、どのように調整されているか見てみたいと思います。プロット関数を for ループに入れましたが、最終行のみをプロットします。どうすれば目標を達成できますか?
ありがとうございました
matlab - Matlab での単一ニューロン パーセプトロンのトレーニング
2 つの異なるクラスを分類する単一のニューロン パーセプトロンをトレーニングする必要があります。私はこのコードをmatlabで書きました。
eta は学習率、PercepClassTraining はトレーニング セット (2000 入力) です。
学習率に 0.1 を使用し、初期重みに [0.01 0.01] を使用すると、エポック #58 に収束し、すべてのトレーニング セットを使用しません。
eta を 0.01 に設定し、重みを 0.1 に設定すると、0.1 は永遠にループします。コードに何か問題がありますか? 停止基準はどうですか?