0

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データ行のうち分割し、単一の時間では、お時間をいただき、ありがとうございます。

答えて

0

一般に、十分なエポックが与えられると、安定した分類器が収束するはずです。コスト関数の局所最小値を見つけたら、そこにとどまるべきです。しかし、分類器が学習している間は間違いなくノイズが発生します。

訓練の際に、テストセットの精度を追跡することがよくあります。これをプロットして、アルゴリズムがどれほど迅速に収束しているかを見ることができます。

+0

この回答に感謝します。 –

+0

あなたが探しているものかどうかわからないのですが、 パーセプトロンで生成しているのは、テストセットに一般化されていない分類子です。 100エポック(正直なところ、おそらく10エポックでさえも)で、パーセプトロンはあなたのトレーニングセットを収束させて分離する必要があります。しかしながら、その分類子はすべてのデータの分割を効果的に記述することはできない。 これに対処するには、パーセプトロンの正規化を含めて、さまざまなことができます。あなたはL1またはL2のペナルティを課し、それが改善するかどうかを調べることができます。他のアルゴリズムもより適しています。 –

0

n_iterは、パーセプトロンアルゴリズムのハイパーパラメータです。あなたの分類問題とあなたのデータに応じて、このハイパーパラメータ(n_iter)は適切に選択する必要があります

さまざまな整数のハイパーパラメータ(n_iter)をチューニングし、分類精度を評価する便利なトリックです。詳細はhttp://scikit-learn.org/stable/modules/grid_search.htmlをご覧ください。これは、あなたのデータに応じて、最高のハイパーパラメータを検索するのに適した機能です

関連する問題