Эта серия представляет собой краткое изложение курса «Основы машинного обучения», предлагаемого профессором Сюань-Тянь Линем с факультета информационной инженерии Тайваньского национального университета. Основное внимание уделяется уходу, а не подробным заметкам, поэтому некоторые детали могут быть опущены.
Курс состоит из 16 лекций, разделенных на 4 части:
- Когда машины смогут учиться? (Когда машины смогут учиться?)
- Почему машины могут учиться? (Почему машины могут учиться?)
- Как машины учатся? (Как машины могут учиться?)
- Как машины могут учиться лучше? (Как машины могут учиться лучше?)
Эта статья является частью 3, соответствующей лекциям 9-12 исходного курса.
Основное содержание этого раздела:
- Подробное объяснение алгоритма линейной регрессии, а также гарантии способности к обобщению, можно ли его использовать для задач бинарной классификации и т. д.;
- Подробно объясняется алгоритм логистической регрессии и вводится метод градиентного спуска;
- Описать взаимосвязь и различие между PLA, линейной регрессией и логистической регрессией в задачах классификации и представить метод стохастического градиентного спуска;
- методы OVA и OVO в задачах мультиклассификации;
- Нелинейное преобразование признаков и как управлять сложностью преобразования.
1 Линейная регрессия
В первой части классификации машинного обучения, когда, это возврат.
1.1 Алгоритм линейной регрессии
линейная регрессиянабор гипотезочень простой,, по сути, модель персептрона убирает символическую функцию.
Его точечная метрика ошибки может быть установлена как, то ошибки внутри и вне выборки равныисвести к минимумуОчень просто, когда оно сведено к минимуму, должно бытьградиентза, поэтому сначала можно вычислить его градиент:
будь как будетВот и все. как показано на рисунке:
какобратимый (когдав основном удовлетворен), его можно получить напрямую
еслиЭто странно? Сначала можно определить «псевдоинверсию»., после определения
На практике рекомендуется использовать непосредственно, с одной стороны, чтобы избежать осужденияНезависимо от того, обратимо оно или нет, с другой стороны, оно численно стабильно, даже если оно почти необратимо.
1.2 Обобщение линейной регрессии
Линейная регрессия, похоже, не имеет процесса «обучения», это одноэтапный процесс, так что это машинное обучение?
На самом деле, пока это может быть гарантированоДостаточно маленький, значит, обучение «случилось».
Здесь мы не начинаем с теории размерности ВК, а объясняем, почему с другой точки зрения.будет достаточно мал.
Сначала посмотрим на среднийНасколько велик:
в
возможноназывается шляпной матрицей, потому что она можетсопоставить с. Как видно из рисунка ниже, еслиидеаломплюс шумгенерировать, затемтак же может бытькарты на:
и, след можно понимать как «энергию», поэтому мы имеем
если правильноВзяв среднее значение, его можно приблизительно понять кактак же есть(Процесс доказательства опущен).
следовательноиОтношения показаны на рисунке:
как, то оба сходятся к(), ожидание ошибки обобщения равно. Поэтому обучение «случается»!
Теория размерности VC утверждает, чтоиСуществует верхняя граница вероятностей, находящихся далеко друг от друга, и здесь утверждается, что их среднее несоответствие сходится. Ракурсы разные, но оба способа иллюстрируют силу обобщения.
1.3 Бинарная классификация с линейной регрессией
В линейной классификации,,, нахождение ее оптимального решения является NP-трудной задачей.
так как, то есть положительные и отрицательные категории выборок также могут быть представлены действительными числами, а в линейной регрессии, то непосредственно к линейной регрессии получаем, тогда пусть, Это возможно?
Обозначим меры ошибок для линейной классификации и линейной регрессии каки, а их соотношение следующее:
Отсюда ясно видно, чтодолжны быть установлены. Следовательно, существует
То есть пусть возвращаетсясделано достаточно хорошо, чтобы также сделать классифицированнымОн достаточно мал, но верхний предел более расслаблен. Делать этоПоменяйте тесноту на вычислительную эффективность.
в целомМожет использоваться в качестве начального вектора для PLA или карманных алгоритмов.
2 Логистическая регрессия
2.1 Алгоритм логистической регрессии
В бинарной классификации нас интересует
Но во многих сценариях мы хотим сделать «мягкую» классификацию, то есть получить вероятность определенной классификации.На данный момент нас интересует следующее:
Проблема в том, что метки данных, которые мы получаем, представляют собой класс выборки, а не вероятность того, что выборка будет отнесена к классу.
для всех характеристик образца,сделать. Мы можем использовать логистическую функциюПреобразуйте его в оценочную вероятность. То есть логистическая регрессияПредположениеза.
Наиболее часто используемые логические функции
Изображение функции выглядит следующим образом:
Видно, что она гладкая, монотонная, S-образная (sigmoid)функция.
Далее, чтобы определить логистическую регрессию. сначала целевая функцияобратно выражается как
Предположим, что набор данных в руке
Затем, погенерироватьВероятность
по нашему предположениюгенерироватьвероятность (likelihood)за
если,ТакгенерироватьВероятность также должна быть близка к указаннойгенерироватьвероятность, а погенерироватьВероятность должна быть большой (как раз по нашей выборке). Таким образом, алгоритмы машинного обучения могут
как, согласно свойствам функции,,так
и,,……,оба снеактуально, так что есть
Теперь, чтобы максимизировать его, чтобы найти окончательный. может сначалаПодставляем, а затем логарифмируем (логарифмическая функция монотонна и не меняет точки максимизации значения), получается
Затем взять обратное число (максимум становится минимумом), разделить(без изменения максимальной точки), его можно изменить на
будетрасширить, чтобы получить
сделать
Это кросс-энтропийная ошибка (cross-entropy error),иэто.
2.2 Градиентный спуск
рядом с минимумом, она непрерывна, дифференцируема, квадратично дифференцируема, выпукла, поэтому постарайтесь сделать ее градиент как. найти его градиент
Его градиент можно рассматривать какдля взвешенногосредневзвешенное значение . Чтобы сделать его 0, есть два способа:
- пусть всевсе равны 0, что означает, что все выборки удовлетворяют, этолинейно отделим;
- какОно не является линейно разделимым, пусть взвешенная сумма равна 0, это нелинейное уравнение, и решения в замкнутой форме нет.
Итерация может быть выполнена так же, как и в PLA, т.е.,вНаправление обновления определяется,Размер шага обновления определяется, как показано на рисунке:
Как повторить? Доступный жадный алгоритм, шаг за шагомстать меньше. Предположим, что некий, быть увереннымнаправление, проблема обновления на каждом шаге трансформируется в
Это кажется более сложным для понимания. но еслиДостаточно маленький, мы можем расширить его с помощью локального линейного приближения (разложение Тейлора):
в формулеиизвестный,дано, просто будьте увереныТо есть отмечается, что второй член приведенной выше формулы по существу является скалярным произведением двух векторов. Когда два вектора направлены в противоположные стороны, значение является наименьшим. Поэтому, чтобы минимизировать приведенную выше формулу, можно брать
Затем итеративное обновление градиентного спуска становится: для заданного меньшего,
Слишком маленькое приведет к очень медленному, слишком большое приведет к нестабильности, лучше всего использовать переменную,Как показано ниже:
Так,Как это может быть лучше? позволить этому бытьположительная корреляция, исходная фиксированнаяездить наВот и все. Таким образом, правило обновления становится
этот новыйфиксированныйскорость обучения(learning rate).
3 Линейные модели для классификации
3.1 Сравнение трех алгоритмов
Помните, ниже приводится сводка трех моделей (линейная классификация, линейная регрессия, логистическая регрессия):
здесьпоказатель точности классификацииcorrectnessscore), который измеряет, насколько верна классификация, и чем больше значение, тем более «правильной» является классификация.
Если кросс-энтропийная функция ошибкимасштабировать (кроме),получить
Постройте их функции ошибок, чтобы получить следующий рисунок:
Как видно из рисунка, должно быть
Это можно доказать с помощью теории размерности VC, используяВы также можете хорошо справиться с классификационными задачами, есть две идеи:
- С точки зрения классификации существуют
- С точки зрения кросс-энтропии мы имеем
В любом случае, просто убедитесьдостаточно мал, чтобы гарантироватьОн также достаточно мал, то есть линейную классификацию можно проводить либо с помощью логистической регрессии, либо с помощью линейной регрессии.
Используя PLA, линейную регрессию и логистическую регрессию для классификации, преимущества и недостатки трех методов заключаются в следующем:
3.2 Стохастический градиентный спуск
Временная сложность каждой итерации PLA составляет, но логистическая регрессия (или карманный алгоритм) требует каждой итерацииВсе пробы в операции выполняются один раз, а временная сложность составляет, может ли временная сложность каждой итерации также стать?
мы делаем обновление, взял
Видно, что вычисление градиента требует обхода всех выборок, а сложность слишком высока. внутри негорассматривается как ожидание, что эквивалентно среднему результату, рассчитанному путем непрерывной случайной выборки выборки. Если необходимо провести случайную выборкуВычисленный градиент называется стохастическим градиентом, то истинный градиент можно рассматривать как его ожидание:
Таким образом, вы можете использоватьСтохастический градиентный спуск(Стохастический градиентный спуск,SGD) для повторения. Его преимущество в том, что оно очень простое, стоимость расчета низкая и очень подходит для больших данных или онлайн-обучения, а недостаток в том, что он недостаточно стабилен.
В логистической регрессии шаг, обновленный с помощью SGD, становится
Это очень похоже на шаг обновления в PLA, который выглядит так:
Следовательно, логистическую регрессию с SGD можно рассматривать как «мягкую» PLA. Обратно, если мы возьмем, то PLA находится вКогда он очень велик, его также можно рассматривать как логистическую регрессию с использованием SGD.
При использовании SGD есть два эмпирических правила:
- Когда это прекратится?Это можно сделать, когда он достаточно велик (не судите, действительно ли градиент равен 0, иначе это усложнит вычисление градиента);
- когдаВ общем диапазоне взятьБар.
4 проблемы мультиклассификации
4.1 Мультиклассификация с логистической регрессией
Предположение, распределение данных следующее:
Каждая категория может быть классифицирована один раз, как показано ниже:
Но сделав это, в итоге совместить их будут проблемы, некоторые области не могут определить к какой категории они относятся:
Как это решить? Логистическую регрессию можно использовать как «мягкий» классификатор для каждой категории., с набором данных
Сделайте логистическую регрессию, чтобы получить классификатор:
Чтобы совместить их, когда сделано, желательно, поэтому вы можете получить, к какому классу должна принадлежать точка:
Это называется декомпозицией OVA (один против всех).Преимущество заключается в том, что оно эффективно и может сочетаться с такими методами, как логистическая регрессия, но недостатком является то, что когдабольшой, частоОчень несбалансировано, например, категорий 100, а распределение относительно равномерное, и количество двух типов данных, используемых OVA для каждой обучающей выборки, будет очень разным.
Его можно расширить, например, полиномиальную («связанную») логистическую регрессию, чтобы добавить некоторые ограничения, такие как «вероятность принадлежности к разным классам в сумме должна составлять 1», что делает его более подходящим для множественной классификации.
4.2 Мультиклассификация с бинарной классификацией
Чтобы преодолеть проблему дисбаланса, можно тренироваться на парах классов, т.е. используя набор данных
Выполните линейную бинарную классификацию:
Наконец, возьмите
Просто:
Такой метод называется декомпозицией OVO (One-Versus-One).Преимущество заключается в том, что он эффективен (поскольку объем данных, используемых для каждого обучения, меньше), и он стабилен и может быть объединен с любым методом бинарной классификации, но недостаток в том, что он постоянно вычисляетсяОбщая сложность операции, что требует больше вычислительного пространства. когдаOVO часто используется, когда он не очень большой.
5 Нелинейное преобразование
Однако для некоторых наборов данных используются линейные модели.Оба большие:
5.1 Набор квадратичных гипотез
Мы обнаружили, что если в качестве границы классификации используется окружность, то она на самом деле отделима:
Итак, мы собираемся перепроектировать циклический PLA, циклический регресс, …? конечно, нет. мы можем поставитьиспользовать преобразованиесопоставить с, так что вДанные, которые можно разделить в среднем круге, находятся вНейтрально разделяемый.
отсопоставлено спространство, которое может образовывать общее квадратичное множество гипотез:
Конечно, можно использовать и нелинейные преобразования более высокого порядка.Процесс использования нелинейных преобразований выглядит следующим образом:
Конкретные шаги заключаются в следующем:
- Сначала сбудетпревратиться в;
- использоватьи алгоритмы линейной классификацииобучить модель;
- возвращениеВот и все.
5.2 Цена сложности
предполагается использоватьНелинейное преобразование времен:
количество членов в формулеСколько это стоит? если естьОсобенностью, после прибавления 1 можно считать, что каждый пункт после приведенной выше формулывторое, то естьКаждому элементу присваивается степень, и сумма всех времен должна быть. Можно использовать метод вагонки: представьте себе обычнуюмаленькие шарики, которые нужно разместить на своих местахперегородки, разделенные наСекция, количество шаров в каждой секции минус 1 представляет собой количество предметов в соответствующей позиции. Поскольку в каждой секции требуется как минимум 1 шар, перегородки нельзя размещать с обоих концов. Всего имеетсяперегородки могут быть размещены в каждой позиции, всегоМетод помещения, то есть количество терминов справа от знака равенства выше
когдаКогда большие, стоимость вычислений или хранения очень высока, с одной стороны, а с другой стороны.даверхняя граница ,слишком большой вызоветЕсли он слишком велик, модель теряет способность к обобщению.
5.3 выбор
как выбрать? Предположение,,……,, и обозначим их наборы гипотез как,,……,, у них есть вложенные отношения
как показано на рисунке:
Кроме того, их размерность VC удовлетворяет
Если вы возьмете, то ихудовлетворить
как выбрать? Безопасный способ - посмотретьДостаточно ли он уже мал, если он достаточно мал, то все в порядке, в противном случае используйте чуть более сложную модель, которая должна двигаться вправо на следующем рисунке: