Ваша функція втрати не працює, оскільки стимулює встановлення на будь-яке кінцеве значення і до .θ1θ0−∞
Назвемо залишкового для .r(x,y)=1m∑mi=1hθ(x(i))−yh
Ваша мета - зробити максимально близьким до нуля , а не просто мінімізувати його . Високе негативне значення так само погано, як і високе позитивне значення.r
EDIT: Ви можете протидіяти цьому, штучно обмеживши простір параметрів (наприклад, ви хочете ). У цьому випадку оптимальні параметри лежатимуть у певних точках на межі простору параметрів. Дивіться https://math.stackexchange.com/q/896388/12467 . Це не те, чого ти хочеш.Θ|θ0|<10
Чому ми використовуємо квадратну втрату
Похибка квадрата змушує та збігатися. Він зведений до мінімуму при , якщо це можливо, і завжди , тому що це квадрат від реального числа .h(x)yu=v≥0u−v
|u−v|також буде працювати для вищезгаданої мети, як і , маючи деяке додатне ціле число. Перший з них фактично використовується (він називається втратою; ви також можете натрапити на втрату , що є іншою назвою для помилки у квадраті).(u−v)2nnℓ1ℓ2
Отже, чому квадратна втрата краща за ці? Це глибоке запитання, пов’язане із зв’язком між частотою і байєсівським висновком. Коротше кажучи, помилка квадрата стосується Гауссового шуму .
Якщо ваші дані не відповідають точно всім точкам, тобто не дорівнює нулю протягом певного моменту, незалежно від того, що ви виберете (як це завжди буде на практиці), це може бути через шум . У будь-якій складній системі буде багато невеликих незалежних причин для різниці між вашою моделі і реальності : помилка вимірювання, чинники навколишнього середовища і т.д. До центральної граничної теореми (ЦПТ), загальний рівень шуму буде поширюватися Зазвичай , тобто в відповідно до Гауссова розподіл . Ми хочемо вибрати найкращеh(x)−yθ h yθвраховуючи це розподіл шуму. Припустимо, , частина яку ваша модель не може пояснити, слід Гауссовому розподілу . Ми використовуємо великі літери, тому що зараз ми говоримо про випадкові величини.R=h(X)−YyN(μ,σ)
Розподіл Гаусса має два параметри, середнє і дисперсія . Дивіться тут, щоб краще зрозуміти ці терміни.μ=E[R]=1m∑ihθ(X(i))−Y(i))σ2=E[R2]=1m∑i(hθ(X(i))−Y(i)))2
Поміркуй , це систематична помилка наших вимірювань. Використовуйте для виправлення систематичної помилки, так що (вправа для читача). Тут більше нічого робити.μh ′ ( x ) = h ( x ) - μ μ ′ = E [ R ′ ] = 0h′(x)=h(x)−μμ′=E[R′]=0
σ являє собою випадкову помилку , яку також називають шумом . Після того, як ми подбали про систематичний компонент шуму, як у попередньому пункті, найкращий предиктор отримується, коли зведено до мінімуму. Інакше кажучи, найкращим прогноктором є той, який має найточніший розподіл (найменшу дисперсію) навколо прогнозованого значення, тобто найменшу дисперсію. Мінімізація найменших втрат у квадраті - це те саме, що мінімізувати дисперсію! Це пояснює, чому найменший збиток працює для широкого кола проблем. Основний шум дуже часто є гауссовим через CLT, і мінімізація помилки в квадраті виявляється правильноюσ 2 = 1σ2=1m∑i(hθ(X(i))−Y(i)))2 що робити!
Щоб одночасно враховувати як середнє, так і відхилення, ми включаємо в наш класифікатор термін зміщення (для обробки систематичної помилки ), а потім мінімізуємо втрати квадрата.μ
Подальші питання:
Найменша втрата квадратів = гауссова помилка. Чи відповідає будь-яка інша функція втрат також деякому розподілу шуму? Так. Наприклад, втрата (мінімізація абсолютного значення замість квадратичної помилки) відповідає розподілу Лапласа (Подивіться на формулу для PDF у інформаційному полі - це просто гаусс із замість ). Популярною втратою для розподілу ймовірностей є KL-дивергенція . -Гауссова розподіл дуже добре мотивований через теорему про центральний межаℓ1|x−μ|(x−μ)2ℓ 1, про яку ми говорили раніше. Коли правильна модель шуму розподілу Лапласа? Є деякі обставини , коли мова йде про природу, але частіше , як регуляризатора для забезпечення розрідженості : втрати є НЕ менш опуклим серед всіх опуклих втрат.ℓ1
- Як згадує Ян у коментарях, мінімізатор квадратних відхилень - це середнє значення, а мінімізатор суми абсолютних відхилень - медіана . Чому ми хотіли б знайти медіану залишків замість середньої? На відміну від середньої, медіану не скидає одна дуже велика чужа. Отже, втрати використовуються для підвищення надійності. Іноді використовується комбінація двох.ℓ1
Чи бувають ситуації, коли ми мінімізуємо як середнє, так і відхилене? Так. Подивіться Bias дисперсионного Компроміс . Тут ми розглядаємо набір класифікаторів і запитуємо, який з них найкращий. Якщо ми запитаємо, який набір класифікаторів є найкращим для проблеми, важливе значення має мінімізація як зміщення, так і відхилення. Виявляється, що між ними завжди є компроміс, і ми використовуємо регуляризацію для досягнення компромісу.hθ∈H
Щодо терміна12
1/2 не має значення і насправді, ні - вони обидві константи. Оптимальне значення залишатиметься однаковим в обох випадках.mθ
Вираз для градієнта стає гарнішим з , оскільки 2 з квадратного члена скасовується.12
- Коли ми пишемо код або алгоритми, ми зазвичай більше стурбовані градієнтом, тому це допомагає зберігати його стисло. Ви можете перевірити прогрес, просто перевіривши норму градієнта. Сама функція втрати іноді опускається з коду, оскільки вона використовується лише для перевірки остаточної відповіді.
корисний , якщо ви вирішити цю проблему з допомогою градієнтного спуску. Тоді ваш градієнт стає середнім доданків замість суми, тому його масштаб не змінюється, коли ви додаєте більше точок даних.mm
- Я раніше стикався з цією проблемою: я тестую код з невеликою кількістю очок, і він працює добре, але коли ви тестуєте його з усім набором даних, втрачається точність і іноді надмірно / недостатньо перетікає, тобто ваш градієнт стає
nan
або inf
. Щоб цього уникнути, просто нормалізуйте кількість wrt точок даних.
Ці естетичні рішення використовуються тут для підтримки узгодженості з майбутніми рівняннями, де ви додасте терміни регуляризації . Якщо ви включите , параметр регуляризації не залежатиме від розміру набору даних і він буде більш інтерпретованим через проблеми.mλm