Aprendizado supervisionado com dados incertos?


11

Existe uma metodologia existente para aplicar um modelo de aprendizado supervisionado a um conjunto de dados incerto? Por exemplo, digamos que temos um conjunto de dados com as classes A e B:

+----------+----------+-------+-----------+
| FeatureA | FeatureB | Label | Certainty |
+----------+----------+-------+-----------+
|        2 |        3 | A     | 50%       |
|        3 |        1 | B     | 80%       |
|        1 |        1 | A     | 100%      |
+----------+----------+-------+-----------+

Como podemos treinar um modelo de aprendizado de máquina nisso? Obrigado.

Respostas:


11

Como qualidade numérica atribuída aos seus dados, acho que essa "certeza" certamente poderia ser usada como peso. Pontuações mais altas de "certeza" aumentam o peso que um dado tem sobre a função de decisão, o que faz sentido.

Muitos algoritmos de aprendizado supervisionado suportam pesos, portanto, você só precisa encontrar uma versão ponderada daquela que pretende usar.


2
(+1) E, como essencialmente os pesos tenderão a agir como "réplicas" de pontos, provavelmente qualquer algoritmo poderá ser incluído em uma versão ponderada dessa maneira, por exemplo, no exemplo do OP, passe [5,8,10] cópias de os 3 pontos, refletindo suas certezas de [50,80,100]%. (Isto nunca deve ser realmente necessário, como se isso poderia ser feito, em princípio, deve haver uma versão ponderada correspondente do algoritmo.)
GeoMatt22

5

Em vez de ter os rótulos A ou B, você pode substituí-los por valores contínuos de certeza - por exemplo, corresponde a algo que você tem certeza de que é , corresponde a algo que você tem certeza de que é e corresponde a algo que você 're 40% de certeza é . Em seguida, tenha um modelo que, em vez de prever as classes ou produza uma pontuação entre e base no quanto você acha que é uma ou outra (e limite essa pontuação com base em se é> ou <1/2). Isso transforma seu problema de classificação em um problema de regressão (que você limita para retornar a um classificador).A 0 B 0,6 A A B 0 11A0B0.6AAB01

Por exemplo, você pode ajustar um modelo linear para como (onde é a certeza acima). Então, quando você quiser testar alguns dados, conecte-os ao modelo e, em seguida, rótulo se e caso contrário. β0+β T 1 xp(A|x)Aβ0+β T 1 x>0Blogp(A|x)p(B|x)=logp(A|x)1P(A|x)β0+β1Txp(A|x)Aβ0+β1Tx>0B


Portanto, se você tiver um problema de classificação de várias classes, poderá definir seus alvos como vetores com comprimento igual ao número de classes?
precisa saber é o seguinte

Número de classes -1, assumindo que as certezas somam 100%; o exemplo é semelhante à regressão logística. Muitos classificadores produzem pontuações (por exemplo, estimativas de p (classe | dados) sob algum modelo). Tudo que essa resposta propõe é que, em vez de prever as classes diretamente, veja as certezas como pontuações e preveja-as. Então, faça algo com as pontuações.
Batman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.