Рубрика «градиентный спуск»

Недавно мне предстояло написать реализацию LogisiticRegression для одного проекта в Школе 21, так что было необходимо разложить всё по полочкам и разобраться в бинарной классификации в целом. Хочу поделиться также этой информацией здесь, потому что не нашла статьи, которая была бы понятна и обширна лично в моём случае. Автор хочет отметить, что только начинает свой путь в машинном обучении. Если в статье найдутся неточности, то с радостью будет их заметить в комментариях

Сегодня я бы хотела рассмотреть следующие аспекты:

Зачем всё это?

Сейчас в сети можно встретить огромное количество разной литературы и курсов, которые предлагают разобраться в основах нейросетей, так зачем же нужна ещё одна подобная статья? И почему именно рекуррентные нейросети?

Читать полностью »

Аннотация

Представьте, что вам нужно обвести объект на картинке — не просто тыкая в пиксели, а проведя одну идеальную, плавную и уверенную линию. Та самая, которую набросал бы на бумаге художник. Как объяснить компьютеру, что значит «идеальная граница»? Как заставить его искать не среди груды точек, а в бесконечном море возможных кривых?

Читать полностью »

Градиентный спуск: как «слепой в лабиринте» находит выход в миллиардном пространстве — и почему это сердце любого ML - 1

Пошаговый разбор с метафорами, формулами и лайфхаками, которые спасут ваш fit()

Читать полностью »

Лежит на струнах пыль
Ржавеет под окном
Разбитый телевизор
Ты сгладил все углы
И жизнь твоя сплошной
Проклятый компромисс
Ни вверх ни вниз

Так поёт группа Би-2 в песне "Компромисс" и с ними трудно не согласиться. Наша жизнь действительно состоит из сплошных проклятых компромиссов между несколькими решениями. Мы пытаемся найти максимально дешёвую, но качественную электронику, ищем экономичный, но быстрый автомобиль и красивого, но надёжного партнёра для отношений.

Каждая из этих повседневных задач заключается в поиске оптимума нескольких конфликтующих между собой функций. Это называется Читать полностью »

Даже небольшое преимущество продукта может принести существенную выгоду. Инженеры постоянно ищут новые способы оптимизации конструкций в существующих ограничениях, чтобы добиться лучших результатов. Так, Airbus в 2006 году анонсировал программу, которая позволила добиться прироста на ~4 процентаЧитать полностью »

Во время изучения различных алгоритмов машинного обучения я наткнулся на ландшафт потерь нейронных сетей с их горными территориями, хребтами и долинами. Эти ландшафты потерь сильно отличались от выпуклых и гладких ландшафтов потерь, с которыми я столкнулся при использовании линейной и логистической регрессий. Здесь мы создадим ландшафты потерь нейронных сетей и анимированного градиентного спуска с помощью датасета MNIST.

Анимации градиентного спуска и ландшафта потерь нейронных сетей на Python - 1


Рисунок 1 — Ландшафт потерь свёрточной нейронной сети с 56 слоями (VGG-56, источник)
Читать полностью »

Конспект по «Машинному обучению». Математический анализ. Градиентный спуск - 1

Вспомним математический анализ

Непрерывность функции и производная

Пусть $inline$E subseteq mathbb{R}$inline$, $inline$a$inline$ — предельная точка множества $inline$E$inline$ (т.е. $inline$a in E, forall varepsilon > 0 spacespace |(a - varepsilon, a + varepsilon) cap E| = infty$inline$), $inline$f colon E to mathbb{R}$inline$.

Определение 1 (предел функции по Коши):

Функция $inline$f colon E to mathbb{R}$inline$ стремится к $inline$A$inline$ при $inline$x$inline$, стремящемся к $inline$a$inline$, если

$$display$$forall varepsilon > 0 spacespace exists delta > 0 spacespace forall x in E spacespace (0 < |x- a| < delta Rightarrow |f(x)- A| < varepsilon).$$display$$

Обозначение: $inline$limlimits_{E ni x to a}f(x) = A$inline$.
Читать полностью »

О методах численной оптимизации написано много. Это и понятно, особенно на фоне тех успехов, которые в последнее время демонстрируют глубокие нейронные сети. И очень отрадно, что хотя бы часть энтузиастов интересуется не только тем, как забомбить свою нейросеточку на набравшей в этих ваших интернетах популярность фреймворках, но и тем, как и почему все это вообще работает. Однако мне в последнее время пришлось отметить, что при изложении вопросов, связанных с обучением нейросетей (и не только с обучением, и не только сетей), в том числе на Хабре, все чаще впроброс используется ряд “хорошо известных” утверждений, справедливость которых, мягко говоря, сомнительна. Среди таких сомнительных утверждений:

  1. Методы второго и более порядков плохо работают в задачах обучения нейросетей. Потомучто.
  2. Метод Ньютона требует положительной определенности матрицы Гессе (вторых производных) и поэтому плохо работает.
  3. Метод Левенберга-Марквардта — компромисс между градиентным спуском и методом Ньютона и вообще эвристичекий.

и т.д. Чем продолжать этот список, лучше перейдем к делу. В этом посте рассмотрим второе утверждение, поскольку его я только на Хабре встречал как минимум дважды. Первый вопрос затрону только в той части, что касается метода Ньютона, поскольку он куда более обширен. Третий и остальные оставим до лучших времен.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js