Заметки о курсе Coursera Машинное обучение, проведенном Эндрю Нг, адъюнкт-профессором Стэнфордского университета.
В предыдущих заметках мы ввели линейные гипотезы, такие как линейная регрессия, многомерная линейная регрессия и простая логистическая регрессия. Они полезны для многих задач, но их недостаточно, чтобы охватить все проблемы в реальности. Проблемы нелинейной классификации - одна из тех, которые не могут быть решены с помощью простого линейного метода. Итак, начнем!
Проблема нелинейной классификации
Когда мы хотим использовать машинное обучение для создания классификатора изображений автомобилей, нам нужен обучающий набор данных с настоящими метками, автомобиль или не автомобиль. После обучения мы получаем хороший классификатор. Когда мы тестируем его с новым изображением, классификатор ответит, является ли это новое изображение автомобилем или нет.
Прежде чем двигаться дальше, нам нужно знать, как компьютер «видит» изображение. Как и на картинке справа, компьютер всегда «видит» изображение как набор пикселей со значениями интенсивности. Например, на картинке показано положение пикселя (красная точка) и его значение интенсивности равно 69.
Теперь давайте посмотрим на процесс обучения. Во-первых, возьмите два пикселя в качестве функций.
Во-вторых, определите нелинейную логистическую регрессию как гипотезу H. Наша цель - найти хороший H, который сможет хорошо различать положительные и отрицательные данные.
Наконец, изучите все параметры H. Сравните это с линейной логистической регрессией, введенной на третьей неделе, нелинейная форма более сложна, поскольку в ней много полиномиальных членов.
Однако, когда количество функций велико, приведенное выше решение не является хорошим выбором для изучения сложной нелинейной гипотезы. Предположим, у нас есть изображение размером 50x50 пикселей, и все пиксели являются элементами, следовательно, нелинейная гипотеза должна иметь более 2500 функций, поскольку H имеет дополнительные квадратичные или кубические элементы. Стоимость вычислений была бы очень высокой, чтобы найти все параметры θ этих функций по обучающим данным.
Следовательно, нам нужен лучший способ - нейронная сеть, которая является очень мощной и широко используемой моделью для изучения сложной нелинейной гипотезы для многих приложений.
Нейронная сеть (NN)
В этом разделе мы поговорим о том, как представить гипотезу при использовании нейронных сетей.
Первоначально нейронная сеть - это алгоритм, вдохновленный человеческим мозгом, который пытается имитировать человеческий мозг. Подобно нейронам человеческого мозга, NN имеет множество взаимосвязанных узлов (также называемых нейронами), которые организованы по слоям.
Простейшая нейронная сеть
Эта простейшая модель NN содержит только нейрон. Мы можем рассматривать нейрон (узел) как логистическую единицу с помощью сигмоидной (логистической) функции активации, которая может выводить расчетное значение на основе сигмоидной функции активации.
- Терминология параметров θ в NN называется ' веса '.
- В зависимости от проблем вы можете решить, использовать ли блоки смещения или нет.
Нейронная сеть (NN)
Уровень 1 называется Входным слоем, который вводит функции.
Последний слой называется Выходным слоем, который выводит окончательное значение, вычисленное по гипотезе H.
Слой между входным и выходным слоями называется скрытым слоем, который представляет собой блок, который мы группируем вместе нейронами.
Примечание
Нейрон (узел) на самом деле является логистической единицей с сигмоидной (логистической) функцией активации (то есть простой логистической регрессией). Если вы знакомы с линейной алгеброй, вы можете думать о скрытом слое как о линейной комбинации узлов предыдущего слоя. Таким образом, основная идея NN заключается в решении сложной задачи нелинейной классификации с использованием множества последовательностей простой логистической регрессии.
Чтобы получить четкое представление о том, что делает эта нейронная сеть, давайте пройдемся по вычислительным этапам и визуализируем их.
Сначала мы визуализируем процесс перехода матрицы Θ, которая представляет собой отображение управляющей функции со слоя j на j + 1.
Во-вторых, мы визуализируем каждый вычислительный процесс нейронов. Обратите внимание, что выходное значение каждого нейрона рассчитывается по его сигмовидной функции активации.
Другие архитектуры нейронных сетей
Другие архитектуры нейронных сетей могут быть спроектированы путем расширения скрытых слоев. Количество нейронов на слой будет зависеть от задач.
Приложения и примеры
Основываясь на вышеупомянутой концепции, мы собираемся разработать некоторую NN, чтобы показать, как модель NN может быть применена к задачам нелинейной классификации.
Примеры1 - И
Мы можем спроектировать простую сеть с одним нейроном для решения задачи И.
Если заданы веса -30, 20 и 20, можно указать сигмовидную функцию активации H этого нейрона (узла). Когда мы прогнозируем данные с помощью этой H,, мы можем получить идеальный результат.
Примеры2 - ИЛИ
Концепция операции ИЛИ аналогична операции И, но мы меняем вес единицы смещения на -10.
Примеры3 - Отрицание
Примеры4 - NAND
Примеры5 - XOR
Ясно, что это проблема нелинейной классификации, мы можем решить ее, используя нелинейную логистическую регрессию H, которую мы обсуждали в начале.
Однако, когда количество функций и данных велико, H будет слишком сложным для понимания, а стоимость вычислений будет высокой. Вместо этого мы используем структуру NN, чтобы сделать модель H более понятной и простой. Здесь мы применяем NN к XOR Проблема на основе AND, NAND и OR.
Проблема многоклассовой классификации
В этом случае мы можем добавить узлы на уровне вывода, каждый узел может предсказать один класс, концепция этого аналогична механизму один против всех, который мы обсуждали на третьей неделе.
Пока что мы построили базовую концепцию NN. На следующей неделе мы углубимся в математику NN, включая то, как найти вес Θ, как определить функцию стоимости, как обучить лучшую NN и т. Д.
Я надеюсь, что эта статья окажется для вас полезной / полезной, и, если она вам нравится, поставьте мне. Любые отзывы, мысли, комментарии, предложения или вопросы приветствуются!