Персептрон в машинном обучении
Персептрон – одна из самых простых архитектур искусственных нейронных сетей в машинном обучении. Ее разработал Фрэнк Розенблат в 1957 году. В этой статье я покажу вам основы персептрона в машинном обучении и его реализацию с использованием Python.
Что такое персептрон?
Персептрон – это тип архитектуры нейронной сети, который попадает в категорию простейших форм искусственных нейронных сетей. Обычно они основаны на различных типах искусственных нейронов, известных как пороговая логическая единица (TLU) или иногда линейная пороговая единица (LTU). Входы и выходы персептрона – числа, в отличие от значений, которые мы видим в алгоритме классификации, таком как логистическая регрессия (истинные или ложные значения).
Персептроны состоят из одного уровня порогового логического блока, в котором каждый TLU подключен ко всем входам. Один TLU может использоваться для решения проблемы бинарной классификации, и, если все нейроны в одном слое подключены к каждому нейрону в предыдущем слое, это называется полностью связанным слоем или плотным слоем. Такие типы архитектур могут использоваться в задачах мультиклассовой классификации.
Реализация перспептрона с использованием Python
Таким образом, персептрон – это простейшая архитектура искусственной нейронной сети, которую можно использовать для обучения бинарных или мультиклассовых моделей классификации. Теперь давайте посмотрим, как реализовать персептроны с помощью Python. Здесь я буду использовать персептрон в классическом наборе данных радужной оболочки, чтобы классифицировать виды ирисов. Вот как мы можем реализовать перспептрон с помощью Python:
import numpy as np from sklearn.datasets import load_iris from sklearn.linear_model import Perceptron iris = load_iris() x = iris.data[:,(2,3)] #petal length, petal width y = (iris.target == 0).astype(np.int) #iris setosa perceptron = Perceptron() perceptron.fit(x, y) ypred = perceptron.predict([[2, 0.5]]) print(ypred)
Производительность персептронов сильно напоминает алгоритм стохастического градиентного спуска в машинном обучении. Но в отличие от алгоритма классификации, персептроны не производят выходных данных двоичного класса, потому что они делают прогнозы на основе жестких пороговых значений. Вот почему алгоритмы классификации машинного обучения более предпочтительны, чем использование архитектуры перспептрона для решения проблемы классификации.
Резюме
Персептроны – это тип архитектуры нейронных сетей, который попадает в категорию простейших форм искусственных нейронных сетей. Надеюсь, вам понравилась эта статья о введении в персептроны в машинном обучении и их реализации с использованием языка программирования Python.