Suponha que eu queira treinar uma rede neural profunda para executar classificação ou regressão, mas quero saber o quão confiante será a previsão. Como eu consegui isso?
Minha idéia é calcular a entropia cruzada para todos os dados de treinamento, com base em seu desempenho de previsão nos medidores neurais acima. Então, eu treinaria uma segunda rede neural para regressão, que levaria cada dado como entrada e sua entropia cruzada como saída (um nó de saída). Você usaria as duas redes na prática - uma para previsão de rótulo / valor e a outra para previsão de confiança da primeira rede. (.... Mas eu precisaria de uma terceira rede para prever a confiança da segunda rede e assim por diante ...?!)
Esta é uma ideia válida? Além disso, é uma ideia padrão comumente usada? Caso contrário, o que você sugeriria?
fonte
Respostas:
Talvez eu esteja entendendo mal a pergunta, mas para a classificação parece-me que a maneira padrão é ter um neurônio de saída para cada uma das
N
classes.Então o
N
vetor dos[0, 1]
valores de saída representa a probabilidade da entrada pertencente a cada classe e, portanto, pode ser interpretada como a "confiança" que você deseja obter.fonte
Para as pessoas que estão interessadas na estimativa de confiança na previsão de NN, você pode dar uma olhada no Dropout como uma aproximação bayesiana: representando a incerteza do modelo na aprendizagem profunda (Gal et al., 2016) . Resumidamente, demonstra como a variação das previsões de uma rede com desistências em relação a uma população de execuções nas quais a desistência é realizada pode ser usada para estimar a confiança das previsões. Essa abordagem pode ser empregada em redes projetadas para classificação ou regressão.
fonte