Мое пошаговое руководство по машинному обучению

Из учебника Google по глубокому обучению Udacity.



Этот курс разбит на четыре урока.

Урок 1: От машинного обучения к глубокому обучению

Часть 1: Логистическая классификация

Первая часть машинного обучения — «Классификация».

В разделе «Классификация различных объектов» вы получаете «Тренировочный набор».

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

Четыре квадранта имеют набор предопределенных изображений букв. Вход здесь — изображение буквы «А», ИИ должен затем попытаться определить, куда идет это изображение.

Пример (Обнаружение пешеходов):

Какой классификатор вы бы использовали для обнаружения пешеходов на изображении?
классификатор, который вы бы использовали для обнаружения пешеходов, был бы бинарным классификатором пешеходов/без пешеходов. Затем просканируйте все возможные места изображения, чтобы определить, присутствует ли пешеход.

Пример 2 (Рейтинг в веб-поиске):

Какой классификатор вы бы использовали для ранжирования результатов поиска?
Использование классификатора, который берет пару (запрос, веб-страница) в качестве входных данных и классифицирует пару как релевантную/нерелевантную.

asdf

Часть 2: Как работает логистическая классификация?

Логистический классификатор — это всего лишь линейный классификатор.

Что такое линейный классификатор?
Линейный классификатор состоит из 4 частей. (W, X, B, Y).

WX + b = y

Y представляет собой ВЫВОД.
Вывод — это конечный прогноз. (Для приведенного ниже случая правильным выводом прогноза будет «A».)

X представляет собой ВХОД.
В нашем случае входные данные — это пиксели (изображение буквы «А»).

Затем к входным данным применяется функция лайнера для создания Y
Y
= выходного прогноза.

Таким образом, логистическийклассификатор — это линейныйклассификатор,и Линейныйклассификаториспользует линейную функцию…
а линейная функцияявляется просто ГИГАНТСКИМ МАТРИЧНЫМ МНОЖИТЕЛЕМ сильный>.

ГИГАНТСКИЙ МАТРИЧНЫЙ МНОЖИТЕЛЬ берет все входные данные (как X) и умножает их на матрицу, чтобы сгенерировать свои прогнозы (Y).
Он генерирует только ОДИН прогноз (Y) для каждого выходного класса. Это означает, что на каждый вход может быть только один выход (или прогноз).

Остальные члены уравнения равны (W, B).

ВЕС И ПРЕДМЕТЫ.

В Weights and Bias вступает в игру машинное обучение.

Этот алгоритм (линейная функция) используется для обучения моделей выполнению точных прогнозов.

Цель состоит в том, чтобы найти значения Weights и Bias, которые хороши для формирования прогнозов.

Используя входные данные (X) с переменными обученной модели (W,b), мы получаем выходные данные (y). В этом случае X равно пикселям в изображении буквы «A».
Используя уравнение, мы получаем результат (y), который равен метка для ввода.
y может иметь одну, и только одну возможную метку. (Правильная метка — «а»).
Ярлык — это всего лишь оценка вероятности того, что эта метка является правильной меткой.

Хитрость заключается в том, чтобы превратить оценки в вероятности.
Мы хотим, чтобы вероятность правильного класса была очень близка к единице, а вероятность каждого другого класса была близка к нулю.

Способ превратить эти оценки в вероятности — использовать функцию SOFTMAX.

Узнайте больше о функциях Softmax здесь: en.wikipedia.org/wiki/Softmax_function

И здесь: ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

По сути, он берет входные данные (оценки) и применяет к ним регрессию, в результате чего сумма всех входных данных (оценок) составляет единицу.
Это означает, что чем выше оценка, тем выше вероятность.

Условно говоря, функция softmax — это самая простая часть машинного обучения.

Пример расчета вероятностей с помощью функции Softmax.

Допустим, у вас есть классификатор, который выводит три балла для трех классов.

Строка, которая выполняет вычисления здесь, такова.

return np.exp(x) / np.sum(np.exp(x), axis=0)