Подтвердить что ты не робот

Нейронные сети: что означает "линейно разделяемое"?

В настоящее время я читаю книгу машинного обучения Тома Митчелла. Говоря о нейронных сетях, Митчелл утверждает:

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

У меня возникают проблемы с пониманием того, что он означает "линейно разделяемым"? Википедия говорит мне, что "два набора точек в двумерном пространстве линейно разделяются, если они могут быть полностью разделены одной строкой".

Но как это относится к набору тренировок для нейронных сетей? Как входы (или блоки действия) могут быть линейно разделены или нет?

Я не лучший в геометрии и математике - может ли кто-нибудь объяснить это мне, как будто мне было 5?;) Спасибо!

4b9b3361

Ответ 1

Предположим, вы хотите написать алгоритм, который решает, основываясь на двух параметрах, размере и цене, если дом будет продаваться в том же году, он был продан или нет. Таким образом, у вас есть 2 входа, размер и цена, и один выход, будет продаваться или не продаваться. Теперь, когда вы получаете свои обучающие наборы, может случиться так, что результат не накапливается, чтобы сделать наше предсказание легким (можете ли вы сказать мне, основываясь на первом графике, если X будет N или S? Как насчет второго графика ):

        ^
        |  N S   N
       s|  S X    N
       i|  N     N S
       z|  S  N  S  N
       e|  N S  S N
        +----------->
          price


        ^
        |  S S   N
       s|  X S    N
       i|  S     N N
       z|  S  N  N  N
       e|    N N N
        +----------->
          price

Где:

S-sold,
N-not sold

Как вы можете видеть на первом графике, вы не можете разделить два возможных выхода (проданных/не проданных) по прямой линии, независимо от того, как вы пытаетесь, всегда будут S и N на обеих сторонах линии, что означает, что ваш алгоритм будет иметь много строк possible, но не конечная, правильная линия для разделения двух выходов (и, конечно, для прогнозирования новых, что является целью с самого начала). Вот почему linearly separable (второй график) наборы данных намного легче предсказать.

Ответ 2

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

В двух измерениях это означает, что существует линия, которая отделяет точки одного класса от точек другого класса.

EDIT: например, на этом изображении, если синие круги представляют точки из одного класса, а красные круги представляют точки из другого класса, то эти точки линейно разделяются.

enter image description here

В трех измерениях это означает, что существует плоскость, которая отделяет точки одного класса от точек другого класса.

В более высоких измерениях это похоже: должна существовать гиперплоскость, которая разделяет два набора точек.

Вы упоминаете, что вы не умеете математики, поэтому я не пишу формальное определение, но дайте мне знать (в комментариях), если это поможет.

Ответ 3

Посмотрите на следующие два набора данных:

^                         ^
|   X    O                |  AA    /
|                         |  A    /
|                         |      /   B
|   O    X                |  A  /   BB
|                         |    /   B
+----------->             +----------->

Левый набор данных не является линейно разделяемым (без использования ядра). Правая часть разделяется на две части для A' and B` указанной линией.

т.е. Вы не можете нарисовать прямую линию в левом изображении, чтобы все X были на одной стороне, а все O - на другом. Вот почему он называется "не линейно разделяемым" == не существует линейного многообразия, разделяющего два класса.

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