Estou estudando um curso de aprendizado de máquina e os slides das palestras contêm informações que considero contraditórias com o livro recomendado.
O problema é o seguinte: existem três classificadores:
- classificador A, que oferece melhor desempenho na faixa mais baixa dos limites,
- classificador B, proporcionando melhor desempenho na faixa mais alta dos limites,
- classificador C o que obtemos ao lançar uma moeda p e selecionar entre os dois classificadores.
Qual será o desempenho do classificador C, como visto em uma curva ROC?
Os slides das palestras afirmam que, apenas ao lançar esta moeda, obteremos o " casco convexo " mágico da curva ROC dos classificadores A e B.
Eu não entendo esse ponto. Simplesmente ao jogar uma moeda, como podemos obter informações?
O slide de palestra
O que o livro diz
Por outro lado, o livro recomendado ( Data Mining ... de Ian H. Witten, Eibe Frank e Mark A. Hall ):
Para ver isso, escolha um ponto de corte de probabilidade específico para o método A que dê taxas positivas verdadeiras e falsas de tA e fA, respectivamente, e outro ponto de corte para o método B que dê tB e fB. Se você usar esses dois esquemas aleatoriamente com probabilidades p e q, onde p + q = 1, obterá taxas de p positivas verdadeiras e falsas. tA + q. tB e p. fA + q. fB. Isso representa um ponto na linha reta que une os pontos (tA, fA) e (tB, fB), e variando peq você pode traçar toda a linha entre esses dois pontos.
No meu entender, o que o livro diz é que, para obter informações e atingir o casco convexo, precisamos fazer algo mais avançado do que simplesmente jogar uma moeda-p.
AFAIK, a maneira correta (conforme sugerido pelo livro) é a seguinte:
- devemos encontrar um limite ideal Oa para o classificador A
- devemos encontrar um limite ótimo Ob para o classificador B
defina C da seguinte maneira:
- Se t <Oa, use o classificador A com t
- Se t> Ob, use o classificador B com t
- Se Oa <t <Ob, escolha entre o classificador A com Oa e B com Ob pela probabilidade como uma combinação linear de onde estamos entre Oa e Ob.
Isso está correto? Se sim, existem algumas diferenças importantes em comparação com o que os slides sugerem.
- Não é um simples lançamento de moeda, mas um algoritmo mais avançado que precisa de pontos e escolhas definidos manualmente com base em que região caímos.
- Ele nunca usa os classificadores A e B com valores limite entre Oa e Ob.
Você pode me explicar esse problema e qual é a maneira correta de entendê-lo , se meu entendimento não estiver correto?
O que aconteceria se simplesmente jogássemos uma moeda p como sugerem os slides? Eu pensaria que teríamos uma curva ROC que está entre A e B, mas nunca "melhor" do que a melhor em um determinado ponto.
Tanto quanto eu posso ver, eu realmente não entendo como os slides podem estar corretos. O cálculo probabilístico no lado esquerdo não faz sentido para mim.
Atualização: Foi encontrado o artigo escrito pelo autor original que inventou o método convexo do casco: http://www.bmva.org/bmvc/1998/pdf/p082.pdf
Respostas:
(Editado)
Os slides da palestra estão certos.
O método A tem um "ponto ótimo" que fornece taxas positivas verdadeiras e falsas (TPA, FPA no gráfico), respectivamente. Esse ponto corresponderia a um limite ou, em geral, [*] um limite de decisão ideal para A. O mesmo vale para B. (Mas os limites e os limites não estão relacionados).
Vimos que o classificador A tem um bom desempenho sob a preferência "minimizar falsos positivos" (estratégia conservadora) e o classificador B quando queremos "maximizar os verdadeiros positivos" (estratégia ansiosa).
A resposta para sua primeira pergunta é basicamente sim, exceto que a probabilidade da moeda é (em algum sentido) arbitrária. O clasiffier final seria:(Corrigido: na verdade, as palestras estão completamente certas, podemos simplesmente jogar a moeda em qualquer caso. Veja diagramas)
[*] Você deve ser geral aqui: se você pensa em termos de um único limiar escalar, tudo isso faz pouco sentido; um recurso unidimensional com um classificador baseado em limiar não oferece graus de liberdade suficientes para ter classificadores diferentes como A e B, que são executados em diferentes curvas quando os parâmetros livres (limite de decisão = limite) variam. Em outras palavras: A e B são chamados "métodos" ou "sistemas", não "classificadores"; porque A é uma família inteira de classificadores, parametrizados por algum parâmetro (escalar) que determina um limite de decisão, não apenas um escalar]
Adicionei alguns diagramas para deixar mais claro:
Nesse cenário, então, pode-se dizer que a linha laranja preenchida é o "classificador A ideal" (dentro de sua família), e o mesmo para B. Mas não se pode dizer se a linha laranja é melhor que a linha azul: se executa melhor quando atribuímos alto custo a falsos positivos, outro quando falsos negativos são muito mais caros.
Agora, pode acontecer que esses dois classificadores sejam extremos demais para nossas necessidades, gostaríamos que os dois tipos de erros tenham pesos semelhantes. Preferimos, em vez de usar o classificador A (ponto laranja) ou B (ponto azul) para obter um desempenho entre eles. Como o curso diz, pode-se obter esse resultado apenas lançando uma moeda e escolhendo um dos classificadores aleatoriamente.
Não obtemos informações. Nosso novo classificador aleatório não é simplesmente "melhor" que A ou B, seu desempenho é uma média de A e B, no que diz respeito aos custos atribuídos a cada tipo de erro. Isso pode ser ou não benéfico para nós, dependendo de quais são nossos custos.
fonte
Eu concordo com o seu raciocínio. Se você usar o classificador sacudindo moedas para escolher um quando estiver entre os pontos A e B, seu ponto na curva estará sempre abaixo do classificador melhor e acima do mais pobre e possivelmente não acima dos dois! Deve haver algo errado com o diagrama. No ponto em que as 2 curvas ROC cruzam o algoritmo de seleção aleatória, terá o mesmo desempenho que os dois algoritmos. Não estará acima dele da maneira que o diagrama o descreve.
fonte