sklearnまたはscikitモジュールから次のPerceptron関数を実行し、n_teraの数は40です。誤分類の総数はであり、試験データのうちの4つはであった。同じ学習率でより多くのエポックを実行することの短所はありますか?
sklearn_percep=Perceptron(n_iter=40,eta0=0.1,random_state=0)
後、私は100であることをn_iteratをしたが、今で誤分類は45のうち、16に増加しました。私はn_itera = 1000のために再び走った好奇心のうち
sklearn_percep=Perceptron(n_iter=100,eta0=0.1,random_state=0)
今誤分類が45
のうち5です私はアイリスデータセットと3つの分類を使用しています学習率が非常にあるときpresent.Iが知っています収束に達するためには低いエポックを高くする必要がありますが、実際には高いエポックで学習アルゴリズムのパフォーマンスがどのように低下しますか?
マイデータは
を分割0.3と0.7 150データ行のうち分割し、単一の時間では、お時間をいただき、ありがとうございます。
この回答に感謝します。 –
あなたが探しているものかどうかわからないのですが、 パーセプトロンで生成しているのは、テストセットに一般化されていない分類子です。 100エポック(正直なところ、おそらく10エポックでさえも)で、パーセプトロンはあなたのトレーニングセットを収束させて分離する必要があります。しかしながら、その分類子はすべてのデータの分割を効果的に記述することはできない。 これに対処するには、パーセプトロンの正規化を含めて、さまざまなことができます。あなたはL1またはL2のペナルティを課し、それが改善するかどうかを調べることができます。他のアルゴリズムもより適しています。 –