Равиль Ильгизович Мухамедиев "Введение в машинное обучение"

Учебник поможет студентам различных специальностей освоить современные технологии машинного обучения и практически использовать их в работе и научных проектах. В настоящем пособии даются весьма краткие теоретические и относительно подробные практические сведения о применении отдельных алгоритмов классификации и регрессии. Для практического освоения материала достаточно базовых навыков работы с языком Python. При этом освоение возможностей основных библиотек, таких как matplotlib, numpy, pandas, sklearn происходит в процессе решения задач. Используя полученные знания и навыки, студенты смогут решать широкий круг задач классификации, регрессии, анализировать влияние отдельных признаков на работу классификаторов и регрессионных моделей, снижать размерность данных, визуализировать результаты и оценивать качество моделей машинного обучения. Издание рекомендовано УМО РУМС.

date_range Год издания :

foundation Издательство :Автор

person Автор :

workspaces ISBN :

child_care Возрастное ограничение : 16

update Дата обновления : 17.01.2024

https://www.dropbox.com/s/vlp91rtezr5cj5z/MLF_logReg_Python_numpy_002.ipynb?dl=0 (https://www.dropbox.com/s/vlp91rtezr5cj5z/MLF_logReg_Python_numpy_002.ipynb?dl=0)

2.5. Контрольные вопросы

Что такое объект в задачах машинного обучения?

Как в общем виде записать функцию стоимости в задаче классификации?

Как в общем виде записать функцию стоимости в задаче регрессии?

Приведите выражение для функции гипотезы линейной регрессии одной переменной.

Как вычислить значения коэффициентов линейной регрессии? Укажите оба способа вычисления.

Приведите выражение функции стоимости логистической регрессии. Каково будет значение функции стоимости, если y = 0, h = 0, m = 2?

Каково назначение регуляризации?

Каковы недостатки логистической регрессии?

Какие алгоритмы применяются для минимизации значения функции стоимости логистической регрессии?

Чем отличается сигмоидальная функция от логистической?

Какие значения принимает логистическая функция?

2.6. Искусственные нейронные сети

2.6.1. Вводные замечания

Искусственные нейронные сети (Artificial Neural Networks – ANN – ИНС) – аппарат, который активно исследуется начиная с 40-х годов прошлого столетия. ИНС как часть теории коннективизма прошли значительный путь от эпохи завышенных ожиданий, через период разочарований (в 70-х годах) до широко применяемой технологии в настоящее время. Связь между биологическими нейронами и возможностями их моделирования с помощью логических вычислений установлена в работе Warren S. McCulloch (http://link.springer.com/search?facet-creator=%22Warren+S.+McCulloch%22), Walter Pitts (http://link.springer.com/search?facet-creator=%22Walter+Pitts%22) [[39 - Warren S. McCulloch, Walter Pitts. A logical calculus of the ideas immanent in nervous activity // The bulletin of mathematical biophysics. – 1943. – Vol. 5. – Issue 4. – P. 115–133.]], в работе Розенблатта [[40 - Rosenblatt, F. The perceptron: A probabilistic model for information storage and organization in the brain // Psychological Review. – 1958. – Vol. 65 (6). – P. 386–408.]] описана модель персептрона. Недостатки однослойного персептрона отражены в книге М. Минского и С. Пейперта [[41 - Minsky M. L., Papert S. A. Perceptrons: An Introduction to Computational Geometry. – MIT, 1969. – 252 p.], [42 - Marvin Minsky, Seymour Papert. Perceptrons, expanded edition. – The MIT Press, 1987. – 308 p.]]. В этой книге подробно рассмотрены ограничения однослойной нейронной сети и доказано, что она не способна решать некоторые классические логические задачи, в частности, обозначена знаменитая проблема неразрешимости функции XOR для однослойной нейронной сети. Преодолеть этот недостаток можно было путем использования многослойных нейронных сетей. Однако в конце 60-х годов было еще неясно, как обучать многослойные нейронные сети.

В 1974 году был предложен алгоритм, который впоследствии получил название «алгоритм обратного распространения» (backpropagation) [[43 - Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. – Harvard University, 1974. – 38 p.], [44 - Werbos P. J. Backpropagation: past and future // IEEE International Conference on Neural Networks. – San Diego, 1988. – Vol. 1. – P. 343–353.]], или «алгоритм обратного распространения ошибки», пригодный для автоматического подбора весов (обучения) многослойного персептрона или многослойной нейронной сети прямого распространения. Этот алгоритм стал базой для бурного развития нейросетевых методов вычислений.

Примечание. Первенство в разработке алгоритма окончательно не установлено. Считается, что он был впервые описан А. И. Галушкиным и независимо Полом Вербосом в 1974 году. Далее алгоритм развивался усилиями как отечественных ученых, так и зарубежных групп, которые, собственно, и ввели термин backpropagation в 1986 году. Метод несколько раз переоткрывался разными исследователями.

Значительный вклад в теорию коннективизма внесли советские и российские ученые [[45 - Нейрокомпьютеры: учеб. пособие для вузов. – М.: Изд-во МГТУ им. Н. Э. Баумана, 2004. – 320 с.], [46 - Галушкин А. И. Решение задач в нейросетевом логическом базисе // Нейрокомпьютеры: разработка, применение. – М.: Радиотехника, 2006. – № 2. – С. 49–71.], [47 - Ясницкий Л. Н. Введение в искусственный интеллект: учебное пособие для вузов. – М.: Академия, 2008. – 176 с.], [48 - Галушкин А. И. Нейронные сети: основы теории. – Горячая линия – Телеком, 2010. – 496 с.]], доказавшие возможность решения классических вычислительных задач в нейросетевом базисе, тем самым заложив фундаментальную основу построения нейрокомпьютеров.

Примечание. Коннективизм или коннекционизм – это подход к изучению человеческого познания, который использует математические модели, известные как коннекционистские сети или искусственные нейронные сети. Часто они бывают в виде тесно связанных между собой нейронных процессоров [[49 - Connectionism. Internet Encyclopedia of Philosophy. –https://iep.utm.edu/connect/#:~:text=Connectionism%20is%20an%20approach%20to,%2C%20neuron%2Dlike%20processing%20units (https://iep.utm.edu/connect/#:~:text=Connectionism%20is%20an%20approach%20to,%2C%20neuron%2Dlike%20processing%20units)]].

Наиболее популярная архитектура ANN – сеть прямого распространения, в которой нелинейные элементы (нейроны) представлены последовательными слоями, а информация распространяется в одном направлении (Feed Forward Neural Networks) [[50 - David Saad. Introduction. On-Line Learning in Neural Networks. – Cambridge University Press, 1998. – P. 3–8.]]. В 1989 году в работах G. Gybenco [[51 - Cybenco G. Approximation by superpositions of a sigmoidal function // Mathematics of Control, Signals, and Systems. – 1989. – Vol. 4. – P. 304–314.]], K. Hornik [[52 - Hornik K. et al. Multilayer feedforward networks are universal approximators // Neural Networks. – 1989. – Vol. 2. – P. 359–366.]] и др. показано, что такая сеть способна аппроксимировать функции практически любого вида. Однако в тот период теоретическая возможность была существенно ограничена вычислительными мощностями. Преодолеть этот разрыв удалось в 90-х годах, когда были предложены сети новой архитектуры, получившие впоследствие название глубоких нейронных сетей. В результате в последние годы получены впечатляющие результаты в разработке и применении новых классов сетей и так называемого глубокого обучения [[53 - Schmidhuber, J?rgen. Deep learning in neural networks: An overview // Neural Networks. – 2015. – Vol. 61. – P. 85–117.]], которые состоят из множества слоев разного типа, обеспечивающих не просто классификацию, но, по существу, выявление скрытых свойств объектов, делающих такую классификацию высокоточной. Общее количество различных классов нейронных сетей превысило 27 [[54 - http://www.asimovinstitute.org/neural-network-zoo/ (http://www.asimovinstitute.org/neural-network-zoo/) – THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, 2016 BY FJODOR VAN VEEN]]. Введение в новые архитектуры сетей приведено в разделе «Глубокое обучение».

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

2.6.2. Математическое описание искусственной нейронной сети

Рассмотрим ANN с прямым распространением сигнала. В такой сети отдельный нейрон представляет собой логистический элемент, состоящий из входных элементов, сумматора, активационного элемента и единственного выхода (рисунок 2.7).

Рисунок 2.7. Схема классического нейрона

Выход нейрона определяется формулами:

где g(z) – сигмоидальная функция.

Выражение функции гипотезы классического нейрона идентично выражению функции гипотезы логистической регрессии (Eq. 2.9).

Часто в качестве активационной функции применяется сигмоидальная функция, описанная в разделе «Логистическая регрессия».

В последнее время в литературе веса ? нейронной сети чаще обозначают символом w, подчеркивая тем самым преемственность естественных нейронных сетей и искусственных нейронных сетей, где широко используется понятие синаптического коэффициента или веса (weight). Кроме того, такое обозначение показывает разницу между множеством параметров или весов (W) и гиперпараметрами модели. Гиперпараметры определяют общие свойства модели, и к ним относят коэффициент обучения, алгоритм оптимизации, число эпох обучения, количество скрытых слоев сети, количество нейронов в слоях и т.п.

Для упрощения схемы сумматор и активационный элемент объединяют, тогда многослойная сеть может выглядеть так, как показано на рисунке 1.5. Сеть содержит четыре входных нейрона, четыре нейрона в скрытом слое и один выходной нейрон.

На рисунке входные нейроны обозначены символом х, нейроны скрытого слоя – символами a

], a

], a

], a

], a

] и выходного слоя – символом a

]. Если нейронная сеть имеет несколько слоев, то первый слой называют входным, а последний – выходным. Все слои между ними называются скрытыми. Для нейронной сети с L-слоями выход входного или нулевого слоя нейронов определяется выражением a

] = x.

На входе следующего или первого скрытого слоя имеем

Выход первого слоя:

Для любого нейрона j, находящегося в скрытом слое i:

В этом выражении значение bias и его вес упомянуты отдельно как произведение

,

где w

] – вектор весов нейрона j.

Для выходного слоя:

Например, для сети на рисунке 2.8 выход каждого нейрона скрытого слоя можно рассчитать так же, как и для одиночного нейрона:

Выход нейронной сети определяется выражением:

Все книги на сайте предоставены для ознакомления и защищены авторским правом