J'ai lu quelques articles sur les CRF et je suis un peu confus au sujet des fonctions. Les caractéristiques unaires (nœud) et binaires (bord) f sont normalement de la formeFonctions de fonction de champ aléatoire conditionnel
f (yc, xc) = 1 {yc = y c} fg (xc). Où {.} Est la fonction de l'indicateur évaluant à 1 si la condition incluse est vraie, et 0 dans le cas contraire. fg est une fonction de la donnée xc qui extrait les attributs (caractéristiques) utiles des données.
Maintenant, il me semble que pour créer des fonctions CRF, les vraies étiquettes (yc) doivent être connues. C'est vrai pour l'entraînement, mais pour la phase de test, les véritables étiquettes de classe sont inconnues (puisque nous essayons de déterminer leur valeur la plus probable).
Ai-je raté quelque chose? Comment cela peut-il être correctement mis en œuvre?
Je vois ce que vous voulez dire. Donc, pour l'estimation des paramètres qui a du sens. Une fois que vous connaissez les paramètres du modèle CRF et que vous voulez prédire un exemple de test, comment cela fonctionne-t-il? Puisque les étiquettes sont inconnues pour un exemple de test –
Vous prédisez littéralement la valeur y qui a le plus grand score. Vous devez donc écrire du code qui, implicitement ou explicitement, calcule le score pour toutes les valeurs possibles de y, puis renvoie celui qui a obtenu le score le plus élevé. C'est la prédiction au moment du test. –
merci beaucoup pour l'explication. logique! –