Quelle est la différence fondamentale entre un modèle ML et une fonction?

Dec 30 2020

Un modèle peut être défini grosso modo comme n'importe quelle conception capable de résoudre une tâche ML. Des exemples de modèles sont le réseau de neurones, l'arbre de décision, le réseau de Markov, etc.

Une fonction peut être définie comme un ensemble de paires ordonnées avec une propriété un-à-plusieurs du domaine au co-domaine / plage.

Quelle est la différence fondamentale entre eux en termes formels?

Réponses

5 nbro Dec 30 2020 at 17:29

Bien que cela ne s'applique pas à tous les cas, j'aime penser à un modèle comme un ensemble de fonctions, alors voici la différence.

Pourquoi cette définition est-elle utile? Si vous pensez à un réseau de neurones avec un vecteur de paramètres$\theta \in \mathbb{R}^m$en tant que modèle, une combinaison spécifique de ces paramètres représente une fonction spécifique. Par exemple, supposons que nous ayons un réseau de neurones avec 2 entrées, 1 neurone caché (avec une fonction d'activation ReLU, notée$\phi$, qui suit une combinaison linéaire des entrées), et 1 neurone de sortie (avec une fonction d'activation sigmoïde, $\sigma$). Les entrées sont connectées à la seule unité cachée et ces connexions ont un poids réel. Si nous ignorons les biais, alors il y a 3 paramètres, qui peuvent être regroupés dans le vecteur de paramètres$\theta = [\theta_1, \theta_2, \theta_3] \in \mathbb{R}^3 $. La fonction arbitraire que ce réseau de neurones représente peut être définie comme suit

$$ f(x_1, x_2) = \sigma (\theta_3 \phi(x_1 \theta_1 + x_2 \theta_2)) \tag{1}\label{1}, $$

Dans ce cas, l'équation \ ref {1} représente le modèle, étant donné l'espace des paramètres $\Theta = \mathbb{R}^3$. Pour toute valeur spécifique qui$\theta_1, \theta_2,$ et $\theta_3$ peut prendre, nous avons une fonction spécifique (déterministe) $f: \mathbb{R} \rightarrow [0, 1]$.

Par exemple, $\theta = [0.2, 10, 0.4]$ représente une fonction spécifique, à savoir

$$ f(x_1, x_2) = \sigma (0.4 \phi(x_1 0.2 + x_2 10.0)) $$Vous pouvez tracer cette fonction (avec Matplotlib) pour certaines valeurs des entrées pour voir à quoi elle ressemble. Notez que$x_1$ et $x_2$ peut être arbitraire (car ce ne sont que les entrées, que j'ai supposées être des nombres réels).

Cette interprétation d'un modèle est cohérente avec la définition d'une classe d'hypothèses (ou d'un espace) dans la théorie de l'apprentissage computationnel, qui est essentiellement un ensemble de fonctions . Cette interprétation est également cohérente avec les théorèmes d'approximation universels pour les réseaux de neurones , qui stipulent que vous pouvez trouver un ensemble spécifique de paramètres tels que vous pouvez calculer approximativement une fonction donnée de manière arbitraire, étant donné que certaines conditions sont remplies. Cette interprétation peut également être appliquée aux arbres de décision, aux HMM, aux RNN et à tous ces modèles ML.

Le terme modèle est aussi parfois utilisé pour désigner une distribution de probabilité, par exemple, dans le contexte de l'apprentissage par renforcement, où $p(s', r \mid s, a)$ est une distribution de probabilité sur l'état suivant $s'$ et récompense $r$ étant donné l'état actuel $s$ et action $a$ pris dans cet état $s$. Consultez cette question pour plus de détails. Une distribution de probabilité pourrait également être considérée comme un ensemble (éventuellement infiniment grand) de fonctions, mais ce n'est pas seulement un ensemble de fonctions, car vous pouvez également échantillonner à partir d'une distribution de probabilité (c'est-à-dire qu'il y a une certaine stochasticité associée à une distribution de probabilité). Ainsi, une distribution de probabilité peut être considérée comme un modèle statistique ou peut être utilisée pour la représenter. Vérifiez cette réponse .

1 Acccumulation Dec 31 2020 at 06:56

Tout modèle peut être considéré comme une fonction. Le terme «modèle» désigne simplement une fonction utilisée d'une manière particulière, à savoir pour se rapprocher d'une autre fonction d'intérêt.

anurag Dec 31 2020 at 03:31

En termes simples, un modèle de réseau neuronal est un approximateur de fonction qui tente d'ajuster la courbe de la fonction d'hypothèse. Une fonction elle-même a une équation qui générera une courbe fixe:

Si nous avons l'équation (c'est-à-dire la fonction), nous n'avons pas besoin de réseau neuronal pour ses données d'entrée. Cependant, lorsque nous n'avons qu'une certaine notion de sa courbe (ou des données d'entrée et de sortie), nous recherchons un approximateur de fonction, de sorte que pour de nouvelles données d'entrée invisibles, nous pouvons générer la sortie.

L'entraînement de ce réseau neuronal consiste à se rapprocher le plus possible de l'original (fonction inconnue).

AdamAcosta Jan 01 2021 at 02:05

Chaque modèle est une fonction. Toutes les fonctions ne sont pas un modèle.

Une fonction mappe de manière unique les éléments d'un ensemble avec des éléments d'un autre ensemble, éventuellement le même ensemble.

Chaque modèle d'IA est une fonction car ils sont implémentés en tant que programmes informatiques et chaque programme informatique est une fonction mappant de manière unique la combinaison de la séquence de bits en mémoire et de stockage au démarrage du programme, plus les entrées, à la séquence de bits en mémoire et en stockage , plus la sortie, à la fin du programme.

Cependant, un «modèle» est très spécifiquement une représentation de quelque chose. Prenez la courbe logistique:

$$ f(x) = \frac{L}{1 + e^{k(x-x_{0})} } $$

Étant donné des valeurs réelles arbitraires pour $L$, $k$, et $x_{0}$, c'est une fonction. Cependant, étant donné des valeurs beaucoup plus spécifiques tirées des données, cela peut être un modèle de croissance démographique.

De même, un réseau de neurones avec des poids initialisés à tous les zéros est une fonction, mais une fonction très inintéressante avec le codomaine plutôt limité $\{0\}$. Cependant, si vous entraînez ensuite le réseau en lui fournissant un tas de données jusqu'à ce que les poids convergent pour donner des prédictions ou des actions correspondant à peu près à un processus de génération réel, vous avez maintenant un modèle de ce processus de génération.