1. Binary Classificationin (алгоритм бинарной классификации)
(1) Метод представления изображения
Введение: Дайте вам картинку и определите, кошка ли это (1: кошка против 0: не кошка).
Принцип: двумерное изображение представлено в виде трех основных цветов (т. е. красного, зеленого, синего), каждый из основных цветов может быть использован.Представляется матрица, и она накладывается на каждую позицию пикселя для получения цвета каждого пикселя.
Легко узнать, 1 или 0 в качестве вывода, в то время как элементы основной цветовой матрицы используются в качестве входных данных. Вот и возникает вопрос: как хранить этономер? Ответ прост, используйтеХранение вектора признаков , пересекает элементы от красного к зеленому и синему, размерность вектора равна
(2) Метод представления символов (обозначение)
для одного образца, обучающие образцы:Для более компактного представления обучающей выборки она включена в виде матрицы:
Среди них количество столбцовразмер выборки, количество строкразмерность каждого входного вектора. Уведомление! В глубоком обучении мы обычно используем вышеуказанноеукладка колонн, что может упростить процесс сборки.
В программировании на питонеX.shape = (n_x, m)
Аналогично, этикеткав столбец, определяемый следующим образом:
В программировании на питонеY.shape = (1, m)
Резюме нотации: если она представлена в виде хорошей условной нотации, она может связать данные разных обучающих выборок.
3. Базовые знания логистической регрессии
Введение: в примере «судить, кошка ли это» в приведенном выше примечании, когда дается ввод, мы хотим получить вероятностный результат, то есть "Какова вероятность быть кошкой?" То есть решить:Известный:параметр:Это приводит к выводу:Однако это оне отображает результат в линейную функциюВ интервале, то есть, значение вероятности не может быть выражено. Итак, в логистической регрессии мы будемфункционировать, чтобыесть,
Примечание: следующие параметрыВ представлении мы рассматриваем эти два параметра отдельно, вместо того, чтобы использоватьметоды, написанные в одном и том же векторе параметров.
В-четвертых, функция стоимости логистической регрессии (функция стоимости/затраты)
Нам нужно пройти данныйУчебный набор образцов для изучения и подбора наиболее подходящих параметров, чтобы получить результат:Определите функцию потери (ошибки) функции потери/ошибки:Однако в логистической регрессии не рекомендуется использовать указанную выше функцию потерь, потому что при обучении параметров проблема обсуждения станет невыпуклой, поэтому ее непросто использовать для градиентного спуска (найти несколько локальных оптимальных решений, но можно найти меньше глобального оптимума) Итак, определим следующую функцию потерь:Почему эта функция выбрана в качестве функции потерь? Следующая формула может объяснить, почему:Краткое резюме:
- час,сделатьминимум;
- час,сделатьминимум;
Приведенная выше функция потерь измеряет производительность на одном образце, теперь определите функцию стоимости функции стоимости для измерения производительности на всей выборке:
- Функция потери потери: производительность одного образца
- функция стоимости стоимости: производительность всей выборки
5. Градиентный спуск
Общая функция затрат:будетпо двум осям, тоТо есть точка на изображении функции, точка, которую нам нужно найти, является самой нижней точкой изображения, а именно:Функция стоимости является выпуклой функцией, поэтому независимо от того, как вы инициализируете параметры, в конечном итоге вы должны достичь примерно одной и той же точки. Здесь мы используем метод «градиентного спуска».Метод градиентного спуска: из начальной точки сделать шаг в направлении самого крутого спуска (спуститься как можно быстрее), что является первой итерацией градиентного спуска. Продолжайте выполнять итерации, в конечном итоге надеясь сойтись к глобальному оптимуму или приблизиться к глобальному оптимуму.
Чтобы более наглядно показать метод градиентного спуска,иНапример, чтобы нарисовать двумерную плоскую систему координат, необходимо постоянно обновлятьсделатьдостичь минимального значения.
Среди них в формуле:=
Символ означает обновление значения переменной,это скорость обучения. В программировании обычнописьмо, то есть приведенную выше формулу можно упростить до:Так что анализируйтеОбновление параметра в , имеет следующую формулу:
Так же и при программированииписьмо,письмо
6. Градиентный спуск в логистической регрессии
Предположим, что образец имеет 2 функции, есть еще параметры
в соответствии сАлгоритм обратного распространения для вычислительных графов (цепное правило вывода), получаем следующие результаты расчета:Тогда вот проблема! Этот вопрос также активно обсуждается в курсе -Как это решить?На самом деле он включаетЗамените дробь независимой переменной z обратно дробью зависимой переменной a.Окончательный расчет:Затем считайте налево,После получения вышеуказанных значений производной может быть реализован шаг обновления градиента для одного экземпляра выборки, и результат близок к глобальному оптимуму в соответствии с методом настройки параметров в методе градиентного спуска.Примечание. Обновите значения параметров с помощью:=
Символьное представление.
Однако мы знаем, что при обучении модели используется более одной обучающей выборки, когдаКак мы будем применять метод градиентного спуска логистической регрессии, когда используется весь обучающий набор образцов?
7. Градиентный спуск m выборок
Примените градиентный спуск в логистической регрессии кВ этом образце, на самом деле, используется большая петля для сопряженияРассчитайте параметры каждого образца, а затем суммируйте и усредните, чтобы получить значение глобального градиента.
Алгоритм псевдокода
Слабые стороны и улучшения алгоритмов
- Алгоритм использует дваполностью явныйизЦиклы могут сделать алгоритмы неэффективными - от 1 доПроцесс расчета каждой выборки с обходом всех признаков (размерность)
- вообще бесполезноПолностью явный цикл for, который может обрабатывать большие наборы данных. есть дверьтехника векторизации, вы можете избавиться от явногоцикл!