Apprentissage supervisé avec des données incertaines?


11

Existe-t-il une méthodologie existante pour appliquer un modèle d'apprentissage supervisé à un ensemble de données incertain? Par exemple, supposons que nous ayons un ensemble de données avec les classes A et B:

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

Comment pourrait-on former un modèle d'apprentissage automatique à ce sujet? Merci.

Réponses:


11

En tant que qualité numérique que vous attribuez à vos données, je pense que cette "certitude" pourrait sûrement être utilisée comme poids. Des scores de «certitude» plus élevés augmentent le poids qu'une donnée a sur la fonction de décision, ce qui est logique.

De nombreux algorithmes d'apprentissage supervisé prennent en charge les pondérations, il vous suffit donc de trouver une version pondérée de celle que vous avez l'intention d'utiliser.


2
(+1) Et comme essentiellement les poids auront tendance à agir comme des "répliques" de points, tout algorithme pourrait probablement être transféré dans une version pondérée de cette façon, par exemple dans l'exemple OP, passer [5,8,10] copies de les 3 points, reflétant leurs certitudes de [50,80,100]%. (Cela ne devrait jamais être vraiment nécessaire, comme si cela pouvait être fait en principe, il devrait y avoir une version pondérée correspondante de l'algorithme.)
GeoMatt22

5

Au lieu d'avoir des étiquettes A ou B, vous pouvez les remplacer par des valeurs continues de certitude - par exemple, correspond à quelque chose dont vous êtes sûr que c'est , correspond à quelque chose que vous êtes sûr que c'est et correspond à quelque chose que vous « re 40% est sûr . Ensuite, ayez un modèle qui au lieu de prédire la classe ou génère un score entre et en fonction de ce que vous pensez de l'un ou de l'autre (et définissez ce score en fonction de si son> ou <1/2). Cela transforme votre problème de classification en un problème de régression (que vous limitez pour revenir à un classificateur).1A0B0.6AAB01

Par exemple, vous pouvez adapter un modèle linéaire à comme (où est la certitude ci-dessus). Ensuite, lorsque vous souhaitez tester certaines données, branchez-les dans le modèle et étiquette si et sinon.logp(A|x)p(B|x)=logp(A|x)1P(A|x)β0+β1Txp(A|x)Aβ0+β1Tx>0B


Donc, si vous aviez un problème de classification multi-classes, vous pourriez définir vos cibles comme des vecteurs de longueur égale au nombre de classes?
hyperdo

Nombre de classes -1, en supposant que les certitudes totalisent 100%; l'exemple est similaire à la régression logistique. De nombreux classificateurs produisent des scores (par exemple, des estimations de la p (classe | données) sous un certain modèle). Tout ce que cette réponse propose, c'est qu'au lieu de prédire directement les classes, voir les certitudes comme des scores et les prédire à la place. Ensuite, faites quelque chose avec les partitions.
Batman
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.