Bases de la logique et de la théorie des ensembles
Dans les chapitres précédents, nous avons présenté l'algèbre, les fonctions et la géométrie, qui portent toutes sur les « nombres » et les « figures ».
Dans ce chapitre, nous traiterons de quelque chose de plus fondamental :Comment décrire « des conditions »(la logique),Comment décrire « un ensemble de choses »(la théorie des ensembles).
En apprentissage automatique, presque tout contenu impliquant « probabilité » et « incertitude » s'exprime fondamentalement en théorie des ensembles ; tout contenu impliquant « jugements conditionnels » et « flux d'algorithmes » s'exprime fondamentalement en logique.
Opérations logiques de base : AND, OR, NOT, IMPLIES
ET logique (AND, symbole ∧)
est vrai si et seulement si p et qsont tous deux vrais。
Intuition : les deux conditions doivent être satisfaites en même temps ; si l'une des deux manque, cela ne fonctionne pas — comme « on est mouillé seulement s'il pleut et qu'on n'a pas de parapluie. »
OU logique (OR, symbole ∨)
est vrai dès que p et qau moins l'un des deux est vrai。
Le « ou » en mathématiques est un « ou inclusif » : lorsque les deux sont vrais, l'énoncé entier est aussi vrai. Il ne signifie pas « soit l'un soit l'autre » dans le langage courant.
NON logique (NOT, symbole ¬)
Cela inverse simplement la valeur de vérité de p : lorsque p est vrai,c'est faux ; lorsque p est faux,c'est vrai.
Implication logique (IMPLIES, symbole ⇒)
Se lit « si p, alors q » ; c'est ce qui est le plus susceptible d'aller à l'encontre de l'intuition :
| p (l'antécédent) | q (le conséquent) | Explication | |
|---|---|---|---|
| vrai | vrai | vrai | Cas normal |
| vrai | false | false | Le seul cas faux : « antécédent vrai, conséquent faux » |
| false | vrai | vrai | Si l'antécédent est faux, l'énoncé entier est vrai |
| false | false | vrai | Si l'antécédent est faux, l'énoncé entier est vrai |
Les deux lignes les plus contre-intuitives: lorsque p est faux, quelle que soit la valeur de q,l'implication est jugée commevraie。
Un exemple pour aider à comprendre : « S'il pleut demain (p), je prendrai un parapluie (q). »
Si demainil ne pleut pas(p est faux), alors, que vous preniez un parapluie ou non, vous ne pouvez pas dire que l'énoncé est « faux » — il ne fait simplement aucune promesse au sujet de la situation « pas de pluie ».
Équivalence logique (SSI, symbole ⇔)
Se lit « p si et seulement si q », ce qui signifie que p et q ont toujours la même valeur de vérité (soit tous les deux vrais, soit tous les deux faux).
Cliquez sur les interrupteurs ci-dessous pour « allumer » vous-même chaque combinaison et observer les résultats des quatre opérations.
Pourquoi ces symboles sont importants pour l'IA
Lors de la lecture de pseudocode d'algorithmes et de jugements conditionnels pendant l'entraînement de modèles (comme la condition de déclenchement de l'arrêt précoce), ce sont toutes des combinaisons d'expressions logiques.
Un modèle d'arbre de décision est essentiellement composé de couches de jugements « si... alors... » (implication).
De nombreux théorèmes en théorie des probabilités utilisent largement les opérations logiques pour décrire les relations entre événements lors des preuves.
Exemples
# Remarque : Python n'a pas d'opérateur « implication » ; p ⇒ q équivaut à (not p) or q
print('p q p∧q p∨q ¬p p⇒q')
for p in [True, False]:
for q in [True, False]:
implies = (not p) or q # Implication : le seul cas faux est « p vrai et q faux »
print(p, q, p and q, p or q, not p, implique)
L'exécution du code ci-dessus produit la sortie suivante :
p q p∧q p∨q ¬p p⇒q True True True True False True True False False True False False False True False True True True False False False False True True
La deuxième ligne est celle de l'unique « faux » : p vrai, q faux, l'implication ne tient pas.
Exercice: p = « Aujourd'hui, c'est le week-end » est faux, q = « Je dois aller travailler » est vrai. Veuillez déterminerla valeur de vérité de.
Cliquez pour voir la réponse
p est faux. D'après la table de vérité, quelle que soit la valeur de q,elle est vraie.
Concepts d'ensembles : intersection, union, sous-ensemble
Qu'est-ce qu'un ensemble ?
Un ensemble est un tout constitué d'« un tas de choses définies », par exemplereprésente l'ensemble contenant les trois éléments 1, 2, 3.
| Symbole | Signification | Exemple |
|---|---|---|
| x est un élément de l'ensemble A (appartient à) | ||
| x n'est pas un élément de l'ensemble A | ||
| Ensemble vide, ne contient aucun élément | ||
| Ensemble universel, "tout" dans le cadre de la discussion | Tous les résultats possibles du lancer d'un dé |
Sous-ensemble
Si chaque élément de l'ensemble A est aussi un élément de l'ensemble B, alors A est lesous-ensemblede B, noté。
Par exemple, alors。
Union, intersection, différence, complément
conception:
| Opération | Symbole | Signification | Résultat |
|---|---|---|---|
| Union | Les éléments de A et B combinés (les doublons comptés une seule fois) | ||
| Intersection | Éléments qui sont à la fois dans A et B | ||
| Différence | Appartient à A mais pas à B | ||
| Complément | La partie de l'ensemble universel U qui n'est pas dans A, c'est-à-dire | Dépend de U |
Correspondance entre les opérations sur les ensembles et les opérations logiques
La théorie des ensembles et les opérations logiques sont en réalité « deux langages pour la même chose » :
| Langage ensembliste | Langage logique |
|---|---|
C'est aussi pourquoi ces deux sections sont placées dans le même chapitre : elles sont deux expressions de la même logique sous-jacente.
Cliquez sur le bouton pour changer d'opération sur les ensembles et voir les zones mises en évidence dans le diagramme de Venn.
Exemples
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7}
U = set(range(1, 11)) # Ensemble universel {1, 2, ..., 10}
print(A | B) # Union A ∪ B
print(A & B) # Intersection A ∩ B
print(A - B) # Différence A \ B
print(A ^ B) # Différence symétrique A △ B (éléments dans un seul des ensembles)
print(U - A) # Complémentaire Ā = U \ A
La sortie après l'exécution du code ci-dessus est :
{1, 2, 3, 4, 5, 6, 7}
{4, 5}
{1, 2, 3}
{1, 2, 3, 6, 7}
{6, 7, 8, 9, 10}
Exercice:,(Dans l'intervalle 1~12). Trouveret。
Cliquez pour voir la réponse
Pourquoi la théorie des probabilités est fondée sur la théorie des ensembles
Les événements sont des ensembles
Un « événement » en théorie des probabilités est essentiellement un ensemble : l'ensemble de tous les « résultats possibles » qui satisfont une certaine condition.
Par exemple, lorsqu'on lance un dé, l'ensemble correspondant à l'événement « obtenir un nombre pair » est。
Les opérations probabilistes correspondent directement aux opérations ensemblistes
| Langage des probabilités | Langage des ensembles | Signification |
|---|---|---|
| A ou B se produit | Au moins l'un des événements A et B se produit | |
| A et B se produisent tous les deux | Les événements A et B se produisent simultanément | |
| A ne se produit pas | Complément de A | |
| A et B s'excluent mutuellement | Les deux événements ne peuvent pas se produire simultanément |
Formule d'addition : principe d'inclusion-exclusion
L'intuition géométrique de cette formule : la partie qui se chevauche de deux cercles est comptée deux fois, il faut donc la soustraire une fois.
Cela peut se voir très intuitivement à l'aide d'un diagramme de Venn (une représentation graphique d'ensembles).
Probabilité conditionnelle
On le lit comme « la probabilité que A se produise sachant que B s'est déjà produit ».
Intuition : une fois que l'on sait que B s'est produit, l'« univers » dont on parle se réduit de l'original U à B.
À ce stade, la probabilité que A se produise est naturellement la proportion de « l'intersection de A et B » dans le « nouvel univers B ».
Le prototype du théorème de Bayes
La probabilité conditionnelle peut aussi s'écrire en sens inverse :
En réarrangeant ceci, on obtient la formule centrale du théorème de Bayes :
C'est le fondement théorique de nombreux modèles d'apprentissage automatique (comme le classifieur naïf de Bayes), et sa dérivation part précisément de l'intuition ensembliste simple selon laquelle « la probabilité conditionnelle est la proportion d'une intersection d'ensembles ».
Le problème classique de détection de maladie montre le mieux la puissance de Bayes : un test avec une « précision de 95% » ne signifie pas « une probabilité de 95% d'être malade après un test positif ». Faites glisser le curseur et calculez-la vous-même.
Exemples
# A = a la maladie, B = test positif
p_a = 0.01 # Prévalence (probabilité a priori)
p_b_given_a = 0.95 # Sensibilité : probabilité qu'une personne malade teste positif
p_b_given_na = 0.05 # Taux de faux positifs : probabilité qu'une personne saine teste positif
# Formule de probabilité totale : P(B) = P(B|A)P(A) + P(B|¬A)P(¬A)
p_b = p_b_given_a * p_a + p_b_given_na * (1 - p_a)
# Théorème de Bayes : P(A|B) = P(B|A)P(A) / P(B)
p_a_given_b = p_b_given_a * p_a / p_b
print(p_b) # La probabilité totale d'un test positif est d'environ 5.9%
print(p_a_given_b) # Proportion de vrais positifs parmi les positifs : seulement environ 16.1% !
La sortie de l'exécution du code ci-dessus est :
0.059000000000000004 0.16101694915254236
La conclusion est très contre-intuitive : le test a une « précision de 95% », mais la probabilité d'être réellement malade parmi les résultats positifs n'est que d'environ 16% -- car la prévalence elle-même n'est que de 1%, un grand nombre de faux positifs noient les vrais positifs.
C'est exactement la valeur du théorème de Bayes : il vous ditcomment utiliser de nouvelles preuves (résultat de test) pour mettre à jour d'anciennes croyances (prévalence), ce qui est aussi l'origine intellectuelle commune du classifieur bayésien naïf et de l'optimisation bayésienne.
Exercice: Dans un jeu standard de 52 cartes, événement A = 'tirer un cœur' (13 cartes), événement B = 'tirer un As' (4 cartes, dont 1 est l'As de cœur). Trouvezet。
Cliquez pour voir la réponse
Résumé du chapitre
| Sujet | L'essentiel en une phrase |
|---|---|
| Opérations logiques | ∧ exige que les deux soient vrais, ∨ n’exige que l’un des deux soit vrai, ⇒ n’est faux que lorsque « l’antécédent est vrai et le conséquent est faux » (le plus contre-intuitif) |
| Opérations sur les ensembles | ∪ est l’union, ∩ est l’intersection, et ils correspondent un à un aux opérations logiques |
| Probabilité et ensembles | Les événements sont des ensembles ; P(A∪B), P(A∩B) et la probabilité conditionnelle peuvent toutes être comprises intuitivement à l’aide des relations de chevauchement des ensembles |