Перейти к основному содержимому

Выпуклость потерь

В машинном обучении приветствуется выбор выпуклых (convex) функций потерь от весов, т.е. таких функций, что

L(aw+(1a)w)aL(w)+(1a)L(w)w,w и a[0,1].L(a*\mathbf{w}+(1-a)\mathbf{w}')\le aL(\mathbf{w})+(1-a)L(\mathbf{w}')\quad \forall \mathbf{w},\mathbf{w}'\text{ и } a\in[0,1].

Неравенство выполнено для любых аргументов w,w\mathbf{w},\mathbf{w}' из области определения функции, которое также должно быть выпуклым (т.е. если две точки принадлежат области определения, то и любая промежуточная точка на отрезке, их соединяющем тоже принадлежит области определения функции). Геометрически определение выпуклой функции означает, что отрезок, соединяющий любые две точки на функции, нигде не может лежать выше значений функции:

convex-loss.png

Стоит отметить, что если потери на отдельном объекте L(fw(xn),yn)\mathcal{L}(f_{\mathbf{w}}(\mathbf{x}_{n}),y_{n}) выпуклы по w\mathbf{w}, то и потери по всей обучающей выборке (эмпирический риск) будут выпуклыми, т.к. усреднение выпуклых функций всегда будет тоже выпуклой функцией.

Выпуклые функции удобны тем, что

  • любой локальный минимум является глобальным;
  • равенство нулю производной является не только необходимым, но и достаточным условием минимума.

Таким, образом, найдя значение w^\hat{\mathbf{w}}, в котором L(w^)=0\nabla L(\hat{\mathbf{w}})=0 мы точно знаем, что это глобальный минимум.

Задача

Попробуйте доказать эти свойства. Для доказательства второго свойства пригодится использование другого критерия выпуклой функции, что она всегда лежит не ниже касательной, проведённой в любой точке.

Может ли у выпуклой функции не быть минимума?

Да, рассмотрите функцию y=1/xy=1/x.

Может ли у выпуклой функции быть несколько минимумов?

Да, рассмотрите функцию y=max{0,x1}y=\max\{0,\vert x \vert-1\}.