2013-03-26 3 views
1

Я пытаюсь реализовать логистическую регрессию с регуляризацией (либо L1, либо L2). Функция mnrfit() не реализует регуляризацию. Есть ли встроенная функция, которая может выполнять регуляризацию или мне нужно перевернуть мой собственный код регуляризации? Если да, то есть ли какие-то учебники, на которые я могу смотреть? Документы, которые я рассматривал, являются довольно математически плотными.Регуляризация коэффициентов логистической регрессии в MATLAB

ответ

1

L1, а также регуляризация L2 очень легко реализовать.

Выполнение работ по регулировке L1 путем вычитания фиксированной суммы абсолютной величины ваших весов после каждого этапа обучения. Таким образом, с коэффициентом регуляризации L1, например. 0,01, ваши веса (1,0, -2,0, 3,0) станут (0,99, -1,99, 2,99).

L2 регулирование работает путем вычитания процентов ваших весов. При коэффициенте 0,01 это означает умножение вашего весового вектора на 1. - 0.01 = 0.99. Веса (1,0, -2,0, 3,0) станут (0,99, -1,98, 2,97). Это также известно как распад веса.

Как вы можете видеть, L1 регуляризация тянет небольших веса по отношению к 0. L2 регуляризации на другой стороне не имеет почти никакого влияния на грузиках, но резко снижает больших веса.

Смежные вопросы