Como um perceptron multiclasse pode funcionar?

13

Não tenho formação em matemática, mas entendo como o Perceptron simples funciona e acho que entendo o conceito de um hiperplano (imagino-o geometricamente como um plano no espaço 3D que separa duas nuvens de pontos, assim como uma linha separa nuvens de dois pontos no espaço 2D).

Mas não entendo como um plano ou uma linha poderia separar três nuvens de pontos diferentes no espaço 3D ou no espaço 2D, respectivamente - isso não é possível geometricamente, é?

Tentei entender a seção correspondente no artigo da Wikipedia , mas já falhei miseravelmente na frase "Aqui, a entrada xe a saída y são extraídas de conjuntos arbitrários". Alguém poderia me explicar o perceptron multiclasse e como ele se relaciona com a idéia do hiperplano, ou talvez me indique uma explicação não tão matemática?

wnstnsmth
fonte

Respostas:

8

Suponha que temos dados que x iR n são vetores de entrada e y i{ vermelho, azul, verde } são as classificações.(x1,y1),,(xk,yk)xiRnyi{red, blue, green}

Sabemos como criar um classificador para resultados binários, e fazemos isso três vezes: agrupe os resultados , { azul, vermelho ou verde } e { verde, azul ou vermelho } .{red, blue or green}{blue, red or green}{green, blue or red}

Cada modelo assume a forma de uma função , chame-os de f R , f B , f G respectivamente. Isso leva um vetor de entrada para a distância sinalizada do hiperplano associado a cada modelo, onde a distância positiva corresponde a uma previsão de azul se f B , vermelho se f R e verde se f Gf:RnRfR,fB,fGfBfRfG . Basicamente, quanto mais positivo é, mais o modelo pensa que xfG(x)xé verde e vice-versa. Não precisamos que o resultado seja uma probabilidade, apenas precisamos medir a confiança do modelo.

Dada uma entrada , nós a classificamos de acordo com argmax c f c ( x ) , portanto, se f G ( x ) é o maior entre { f G ( x ) , f B ( x ) , fxargmaxc fc(x)fG(x) que faria prever verde para x .{fG(x),fB(x),fR(x)}x

Essa estratégia é chamada "one vs all", e você pode ler sobre isso aqui .

Harri
fonte
3

Não consigo entender esse artigo da Wiki. Aqui está uma facada alternativa para explicá-lo.

Um perceptron com um nó de saída logístico é uma rede de classificação para 2 classes. Ele gera , a probabilidade de estar em uma das classes, com a probabilidade de estar na outra simplesmente 1 -p .1p

Um perceptron com dois nós de saída é uma rede de classificação para 3 classes. Os dois nós produzem a probabilidade de estar em uma classe , e a probabilidade de estar na terceira classe é 1 - i = ( 1 , 2 ) ppi .1i=(1,2)pi

E assim por diante; um perceptron com nós de saída é um classificador para m + 1 classes. De fato, se não houver camada oculta, esse perceptron é basicamente o mesmo que um modelo de regressão logística multinomial , assim como um perceptron simples é o mesmo que uma regressão logística.mm+1

Hong Ooi
fonte
Tem certeza de que a saída é uma probabilidade real? De qualquer forma, não sei como funciona a regressão logística multinomial, então terei que investigar isso. Mas não existe uma maneira (algorítmica) de explicar como um perceptron com dois ou mais nós de saída é construído? Eles estão acorrentados de alguma forma?
wnstnsmth