Confiança SVM de acordo com a distância da linha de hiperline
9
Para um classificador probabilístico de várias classes, podemos obter probabilidades de pertencer a um novo ponto para cada classe ; no caso de três classes, suponha que obtemos , portanto, a classe mais provável de x é . Agora, suponha que tenhamos um svm com várias classes, onde podemos obter pontuações de membros de para cada classe (de acordo com as distâncias das hiperlinhas); no caso de três classes, suponha que obtemos . Como é, neste caso, a primeira, segunda e terceira classe mais provável de (sem converter essas pontuações em probabilidades)? Normalmente, recebo valores positivos e negativos, como por exemploy i P ( Y um | x ) > P ( Y b | x ) > P ( Y c | x ) y um X S c o r e ( y um | x ) , S c o r e ( y b | x ) , S c o r e ( y cxyiP(ya|x)>P(yb|x)>P(yc|x)yaxx S c o r e 1 = - 8622 , S c o r e 2 = 5,233 , S c o r e 3 = - 665Score(ya|x),Score(yb|x),Score(yc|x)xSc o r e 1 = - 8622 , Sc o r e 2 = 5,233 , Sc o r e 3 = - 665
Na verdade, é possível obter probabilidades de uma Máquina de Vetor de Suporte, que pode ser mais útil e interpretável do que um valor arbitrário de "pontuação". Existem algumas abordagens para fazer isso: um lugar razoável para começar é Platt (1999) .
A maioria dos pacotes / bibliotecas SVM implementa algo assim (por exemplo, a opção -b 1 faz com que o LibSVM produza probabilidades). Se você quiser criar o seu próprio, esteja ciente de que existem alguns problemas numéricos em potencial, resumidos nesta nota por Lin, Lin e Weng (2007) . Eles também fornecem algum código psued, que também pode ser útil.
Editar em resposta ao seu comentário : Não está claro para mim por que você prefere uma pontuação a uma probabilidade, especialmente porque você pode obtê-la com um esforço extra mínimo. Tudo isso dito, a maioria dos cálculos de probabilidade parece que são derivados da distância entre o ponto e o hiperplano. Se você olhar para a Seção 2 do documento de Platt, ele analisa a motivação e diz:
As densidades condicionais de classe entre as margens são aparentemente exponenciais. A regra de Bayes sobre dois exponenciais sugere o uso de uma forma paramétrica de um sigmóide:
Este modelo sigmóide é equivalente a assumir que a saída do SVM é proporcional à probabilidade logarítmica de um exemplo de treinamento positivo. [MK: foi definido em outro lugar como a saída SVM bruta]. f
P(y=1|f)=11+exp(Af+B)
f
O restante da seção do método descreve como ajustar os parâmetros e desse sigmóide. Na introdução (Seção 1.0 e 1.1), Platt analisa algumas outras abordagens de Vapnik, Wahba e Hasti & Tibshirani. Esses métodos também usam algo como a distância do hiperplano, manipulada de várias maneiras. Tudo isso parece sugerir que a distância do hiperplano contém algumas informações úteis, então acho que você poderia usar a distância bruta como uma medida (não linear) de confiança.BAB
Bem, eu sei que existem métodos para converter as pontuações (distâncias do limite) em probabilidades e que podem ser mais interpretáveis, no entanto, como está claramente indicado na pergunta: quero usar essas pontuações "sem converter essas pontuações em probabilidades " Então, minha pergunta é: faz sentido pegar os valores absolutos de todas essas pontuações e dizer que quanto maior é o valor absoluto de uma pontuaçãoo mais provável é da classe ? Ou devo comparar as pontuações sem os valores absolutos? ou ...? x i|si|xi
Página
0
Se o conjunto de dados de treinamento for razoavelmente equilibrado e tiver recursos padronizados, considerarei as pontuações SVM como a medida de confiança em pertencer às respectivas classes. Os chamados métodos de calibração que convertem as pontuações em quantidades semelhantes à probabilidade, como o dimensionamento de Platt, geralmente usam funções monotônicas (como a função logística) para mapear as pontuações às probabilidades. Portanto, se você deseja comparar apenas os níveis de confiança de um modelo SVM aprendido em um ponto de dados de teste específico pertencente a possíveis classes, basta comparar os valores de pontuação (não os valores absolutos), considerando que o conjunto de dados de treinamento do qual o modelo foi aprendido é bastante equilibrado e não possui nenhuma peculiaridade incomum.
Se o conjunto de dados de treinamento for razoavelmente equilibrado e tiver recursos padronizados, considerarei as pontuações SVM como a medida de confiança em pertencer às respectivas classes. Os chamados métodos de calibração que convertem as pontuações em quantidades semelhantes à probabilidade, como o dimensionamento de Platt, geralmente usam funções monotônicas (como a função logística) para mapear as pontuações às probabilidades. Portanto, se você deseja comparar apenas os níveis de confiança de um modelo SVM aprendido em um ponto de dados de teste específico pertencente a possíveis classes, basta comparar os valores de pontuação (não os valores absolutos), considerando que o conjunto de dados de treinamento do qual o modelo foi aprendido é bastante equilibrado e não possui nenhuma peculiaridade incomum.
fonte