Поскольку по определению персептрон является двоичным классификатором, даже в его простейшем воплощении вы можете думать о нем как о смещении / пороге 0:
y = f( w
п * x
п > 0 ? 1 : 0 )
Но так как 0 - довольно произвольное значение, смещение / порог явно вводятся в модель как переменная:
y = f( w
n * x
n > b
'? 1 : 0 )
или y = f( w
n * x
п + b > 0 ? 1 : 0 )
Проблема состоит в том, что теперь модель моделирует другие переменные (b
[которые являются скалярами), кроме исходных w
n [которые являются векторами]), которые необходимо учитывать при обучении.
Есть много способов сделать это, наивный способ состоит в том, чтобы просто выбрать некоторые из возможных значений b
и для каждого поезда модель на w
n и сохранить ( b
, w
n )
пара, которая дала лучший результат.
Более элегантный способ - просто думать о переменной смещения / порога b
как о весе, который привязан к входу, который всегда равен 1, что в основном возвращает модель к исходной форме только с 1 переменной w
, за исключением того, что теперь векторы x
и w
имеют n + 1
элементов:
y = f( w
n + 1 * x
n + 1 > 0 ? 1 : 0 )