Я тренирую простой логистический регрессионный классификатор с использованием LIBLINEAR. Есть только 3 функции, а label - двоичный 0-1.liblinear L1 против L2 разница в логической регрессии
Пример входного файла:
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
Теперь, если я использую "-s 6", который "L1-регуляризованная логистической регрессии", то 10-кратный точность кросс проверки составляет около 70% , и каждый инер заканчивается в течение нескольких секунд. Но если я использую «-s 7», то есть «L2-регуляризованная логистическая регрессия (двойная)», то итерация обучения превышает 1000, а 10-кратная точность составляет всего 60%.
Неужели кто-нибудь видел такое странное поведение? По моему мнению, единственная разница между L1 и L2 заключается в том, использует ли термин регуляризации абс (x) или pow (x, 2).
Спасибо за ответ! У меня около 300000 учебных примеров, среди которых 64% - положительные примеры обучения. Как вы думаете, этого достаточно? – menphix
BTW, очень полезный товар! – menphix
Счастливая статья помогла! О да, это должно быть более чем достаточно, и перекос не должен быть достаточно большим, чтобы сделать большую часть разницы. Вы пробовали стандартные вещи, такие как, возможно, упорядочение входных данных? Можете ли вы построить ошибку как функцию обучения итерациям? Может быть, это не сходится? – ABC