1

LIBLINEAR を使用して単純なロジスティック回帰分類器をトレーニングしています。特徴は 3 つだけで、ラベルはバイナリ 0-1 です。

サンプル入力ファイル:

1   1:355.55660999775586    2:-3.401379785      3:5
1   1:252.43759050148728    2:-3.96044759307    3:9
1   1:294.15085871437088    2:-13.1649273486    3:14
1   1:432.10492221032933    2:-2.72636786196    3:9
0   1:753.80863694081768    2:-12.4841741178    3:14
1   1:376.54927850355756    2:-6.9494008935     3:7

ここで、「 L1 正則化ロジスティック回帰」である「-s 6」を使用すると、10 倍の交差検証の精度は約 70% になり、各反復は数秒以内に終了します。しかし、「-s 7」、つまり「L2 正則化ロジスティック回帰 (デュアル)」を使用すると、トレーニングの反復回数が 1000 回を超え、10 倍の精度は 60% しかありません。

この種の奇妙な行動を見た人はいますか?私の理解では、L1 と L2 の唯一の違いは、正則化項が abs(x) を使用するか pow(x, 2) を使用するかです。

4

3 に答える 3

0

LIBLINEAR が提供する 2 つのロジスティック回帰分類子があることに気付きました。

0 -- L2-regularized logistic regression (primal)
7 -- L2-regularized logistic regression (dual)

1000回繰り返しても収束しない7を使用していました。0 に切り替えた後、非常に高速に収束し、最大 70% の精度に達することができました。

デュアルとプライマルは主に最適化方法の違いだと思うので、これはおそらく数値計算の問題だと思います。

デュアル フォームとプライマリ フォームの詳細については、 https ://stats.stackexchange.com/questions/29059/logistic-regression-how-to-get-dual-function を参照してください。

于 2015-05-25T13:33:37.210 に答える