Apprentissage Automatique et Réseaux Neuronaux - page 15

 

Cours 9. Comprendre les données expérimentales



9. Comprendre les données expérimentales

Dans cette conférence, le professeur Eric Grimson discute du processus de compréhension des données expérimentales, de la collecte de données à l'utilisation de modèles pour faire des prédictions. Il utilise l'exemple d'un ressort pour démontrer l'importance de mesurer la précision lors de la prédiction de relations linéaires et explore différentes méthodes pour mesurer la qualité de l'ajustement. Grimson introduit le concept de régression linéaire et d'ajustements polynomiaux, soulignant qu'une valeur élevée de r au carré ne signifie pas nécessairement qu'un polynôme d'ordre supérieur est le meilleur choix. Grimson utilise le code pour optimiser sur un espace à 16 dimensions, laissant le choix d'utiliser ou non cet ajustement polynomial pour la prochaine conférence.

  • 00:00:00 Dans cette section de la conférence, le professeur Eric Grimson discute de l'importance de comprendre les données expérimentales dans le monde actuel à forte intensité de données. Il souligne que, que vous soyez scientifique, ingénieur, spécialiste des sciences sociales ou dans toute autre profession qui traite des données, vous avez besoin d'un logiciel capable de manipuler les données pour en extraire des informations utiles. Il parle également du processus de réalisation d'une expérience, d'obtention de données et d'utilisation de modèles pour faire des prédictions sur les données. En utilisant l'exemple d'une source, il explique comment recueillir des données à son sujet, la modéliser et écrire un logiciel qui peut aider à analyser les données.

  • 00:05:00 Dans cette section, le concept de loi d'élasticité de Hooke est introduit. La loi stipule que la force nécessaire pour comprimer ou étirer un ressort est linéairement corrélée à la distance à laquelle il est comprimé ou étiré. Le signe négatif indique que la force est exercée dans le sens inverse de la compression ou de l'étirement. La loi de Hooke s'applique à une large gamme de ressorts, mais a une limite à l'étirement d'un ressort avant que la loi ne s'effondre. L'exemple est donné du calcul de la force nécessaire pour comprimer un ressort d'un centimètre en utilisant la loi de Hooke et la constante du ressort.

  • 00:10:00 Dans cette section, l'orateur explique le processus de détermination de la constante du ressort par des mesures de différentes masses sur un ressort. Idéalement, une seule mesure suffirait, mais comme les masses peuvent ne pas être fiables et que les ressorts peuvent contenir des matériaux imparfaits, plusieurs essais sont nécessaires pour produire un ensemble de mesures avec une relation linéaire qui peut être tracée pour extraire la constante du ressort. L'orateur démontre l'utilisation d'une fonction de tableau pour mettre à l'échelle toutes les valeurs de manière uniforme avant de représenter graphiquement les points de données. La relation linéaire idéale permettrait aux chercheurs d'étalonner les microscopes à force atomique et de mesurer la force dans les structures biologiques.

  • 00:15:00 Dans cette section, l'orateur explique comment ajuster une ligne aux données expérimentales et mesurer la distance entre la ligne et les points mesurés. Ils expliquent qu'une fonction objectif est nécessaire pour déterminer la qualité de l'ajustement de la ligne, ce qui se fait en trouvant la ligne qui minimise la fonction objectif. L'orateur considère également différentes façons de mesurer la distance, telles que le déplacement le long de l'axe des x, le déplacement vertical ou la distance au point le plus proche sur la ligne. Ils choisissent finalement le déplacement vertical car il mesure la valeur dépendante prédite en fonction d'une nouvelle valeur indépendante.

  • 00:20:00 Dans cette section, Eric Grimson explique comment mesurer la précision d'une ligne prédite en utilisant la méthode des moindres carrés. La méthode consiste à trouver la différence entre les valeurs y prédites et observées, à les mettre au carré pour éliminer le signe, puis à additionner ces différences au carré pour toutes les valeurs observées. Cette somme fournit une mesure de la façon dont la ligne correspond aux valeurs observées. En minimisant la somme de la différence au carré, on peut trouver la ligne la mieux ajustée. De plus, Grimson explique comment trouver la courbe la mieux ajustée en supposant que le modèle de la courbe prédite est un polynôme et en utilisant la technique de régression linéaire pour trouver le polynôme de degré un ou de degré deux qui correspond le mieux aux données.

  • 00:25:00 Dans cette section, le concept de régression linéaire est introduit comme méthode pour trouver le point le plus bas sur une surface qui peut être représentée par toutes les lignes possibles dans un espace à deux dimensions. La régression linéaire est utilisée pour trouver la ligne la mieux ajustée en commençant à un certain point et en descendant le long du gradient sur une certaine distance, en mesurant le nouveau gradient et en répétant jusqu'à ce que le point le plus bas soit atteint. L'algorithme pour ce faire est très similaire à la méthode de Newton. La section explique également comment utiliser polyFit, une fonction PyLab intégrée, pour trouver les coefficients d'un polynôme avec un degré donné qui fournit le meilleur ajustement des moindres carrés.

  • 00:30:00 Dans cette section, le présentateur montre comment utiliser Python pour ajuster une ligne aux données et comment changer l'ordre du polynôme utilisé. Ils expliquent que plus l'ordre du polynôme utilisé est élevé, plus l'ajustement sera proche des données. Le présentateur fournit un exemple visuel d'un ensemble de données où l'ajustement d'une ligne ne fonctionne pas et l'ajustement d'une ligne quadratique est un meilleur ajustement. Ils expliquent également comment utiliser la fonction polyval pour ajuster n'importe quel polynôme d'ordre et renvoyer un tableau de valeurs prédites, démontrant la nature abstraite du code.

  • 00:35:00 Dans cette section, l'orateur explique comment mesurer la qualité de l'ajustement des données expérimentales. Pour comparer différents modèles, il suggère de mesurer l'erreur quadratique moyenne, car cette approche est utile pour comparer deux modèles. Cependant, cette méthode présente un problème car elle ne fournit pas de moyen définitif de savoir si un ajustement est vraiment meilleur qu'un autre. Pour résoudre ce problème, l'orateur recommande d'utiliser le coefficient de détermination (r au carré), qui est indépendant de l'échelle et peut dire à quel point un ajustement est proche d'être parfait. Il fournit une formule de calcul du r au carré qui consiste à mesurer la différence entre les valeurs observées et prédites et l'erreur moyenne.

  • 00:40:00 Dans cette section, l'orateur explique comment calculer la variance et la valeur r au carré pour évaluer la précision d'un modèle. La variance peut être obtenue en divisant la somme des carrés des erreurs par le nombre d'échantillons. La valeur r au carré indique dans quelle mesure la variabilité des données est prise en compte par le modèle, et elle est comprise entre zéro et un. Un r au carré de un signifie que le modèle explique toute la variabilité, tandis qu'un r au carré de zéro signifie qu'il n'y a pas de relation entre le modèle et les données. L'orateur présente ensuite deux fonctions, genFits et testFits, qui génèrent et testent des modèles avec différents degrés de complexité et renvoient les valeurs r au carré correspondantes. Ces fonctions peuvent aider à déterminer le meilleur ajustement pour un ensemble de données.

  • 00:45:00 Dans cette section, l'instructeur exécute le code avec des ajustements polynomiaux quadratiques, quartiques, d'ordre 8 et 16 pour déterminer le meilleur ajustement pour les données. Ils expliquent que l'utilisation du code de type PyLab leur permet d'optimiser sur un espace à 16 dimensions et d'utiliser la régression linéaire pour trouver la meilleure solution. Bien que le polynôme d'ordre 16 fasse un excellent travail et ait une valeur de r au carré de près de 97 %, l'instructeur avertit qu'une valeur élevée de r au carré ne signifie pas nécessairement que l'utilisation d'un polynôme d'ordre 16 est le meilleur choix. Ils laissent la décision de l'utiliser ou non jusqu'au cours suivant.
 

Cours 10. Comprendre les données expérimentales (suite)



10. Comprendre les données expérimentales (suite)

Dans cette section de la vidéo, le présentateur souligne l'importance de trouver le bon modèle pour ajuster les données expérimentales, tout en évitant le surajustement. Plusieurs méthodes sont discutées, telles que l'utilisation de la validation croisée pour déterminer le bon équilibre entre la complexité du modèle et l'efficacité de la prédiction de nouvelles données. Le conférencier fournit des exemples d'ajustement de modèles d'ordres différents à des données expérimentales et démontre les effets du surajustement en ajoutant du bruit aux ensembles de données. La valeur R au carré est également présentée comme un outil pour déterminer dans quelle mesure un modèle s'adapte aux données. Dans l'ensemble, l'importance d'équilibrer la complexité du modèle et l'efficacité dans la prédiction de nouvelles données est soulignée.

  • 00:00:00 Dans cette section, l'instructeur rappelle aux étudiants qu'ils discutaient précédemment du concept d'ajustement des modèles aux données expérimentales afin de comprendre les données. L'objectif est d'avoir un modèle qui explique les phénomènes sous-jacents aux données et peut faire des prédictions sur le comportement dans de nouveaux contextes. Cependant, étant donné que les données sont toujours bruitées, il est nécessaire de tenir compte de l'incertitude expérimentale lors de l'ajustement du modèle. L'instructeur récapitule l'utilisation des expressions polynomiales, en particulier la régression linéaire, pour trouver des coefficients qui minimisent les différences entre les données observées et prédites.

  • 00:05:00 Dans cette section, le concept de régression linéaire est exploré en détail. L'idée derrière la régression linéaire est de représenter toutes les lignes possibles dans un espace qui a un accès avec des valeurs a et l'autre accès avec des valeurs B, où la valeur ou la hauteur de la surface est la valeur de cette fonction objective à chaque point. L'idée est de commencer à un certain point sur cette surface et de descendre jusqu'au bas, où il y aura toujours un point en bas, et une fois ce point atteint, les valeurs a et B donneront la meilleure ligne. La section se termine par une discussion sur la détermination du coefficient R au carré, qui est une valeur indépendante de l'échelle comprise entre 0 et 1 qui mesure l'adéquation d'un modèle aux données.

  • 00:10:00 Dans cette section, l'orateur discute de l'importance de la valeur R au carré dans l'ajustement des modèles aux données expérimentales. La valeur R au carré indique dans quelle mesure le modèle s'adapte aux données, une valeur de 1 indiquant un ajustement parfait et une valeur proche de 0 indiquant un mauvais ajustement. Bien qu'un modèle d'ordre supérieur puisse mieux s'adapter aux données, ce n'est pas nécessairement le meilleur modèle à utiliser pour expliquer les phénomènes ou faire des prédictions. L'orateur explique également comment il a généré les données de son exemple en utilisant une fonction parabolique avec du bruit ajouté.

  • 00:15:00 résumer. Dans cette section, le conférencier explique comment tester l'efficacité d'un modèle en utilisant la validation ou la validation croisée. Ils génèrent des données à partir d'un arc parabolique avec des modèles de bruit et d'ajustement supplémentaires pour les degrés 2, 4, 8 et 16 en utilisant deux ensembles de données différents. Le modèle le mieux ajusté est toujours d'ordre 16, mais le casse-tête est de savoir pourquoi un polynôme d'ordre 16 est le meilleur ajustement lorsque les données ont été générées à partir d'un polynôme de degré 2. L'orateur explique qu'une petite erreur de formation est nécessaire mais pas suffisante pour un grand modèle et que la validation ou la validation croisée est nécessaire pour voir à quel point le modèle fonctionne sur différentes données générées à partir du même processus.

  • 00:20:00 Dans cette section, l'orateur discute de l'utilisation des données expérimentales et de la manière d'y adapter un modèle. Ils explorent également l'importance de tester des modèles sur différents ensembles de données, ainsi que le potentiel de surajustement lors de l'utilisation de trop de degrés de liberté dans un modèle. À travers leur exemple, ils montrent que les modèles d'ordre inférieur (par exemple, l'ordre 2 ou 4) peuvent en fait être plus efficaces pour prédire le comportement que les modèles d'ordre élevé (par exemple, l'ordre 16) et qu'il est important de tester les modèles sur plusieurs ensembles de données pour s'assurer qu'ils ne sont pas trop complexes.

  • 00:25:00 Dans cette section, l'orateur met en garde contre les dangers du surajustement aux données, lorsqu'un modèle est conçu pour s'adapter si parfaitement aux données d'apprentissage qu'il ne peut pas s'adapter à de nouveaux ensembles de données. Il explique comment utiliser la validation pour détecter le surajustement et pourquoi des ordres plus élevés de variables d'entrée sont inutiles dans certains cas. Il montre un exemple d'ajustement d'un modèle quadratique à une ligne et montre que le système dit non au coefficient de terme supérieur car il commencera à ajuster le bruit, ce qui entraînera un ajustement moins efficace. L'exemple de l'orateur adapte un quadratique à une ligne et montre comment le modèle fonctionne parfaitement jusqu'à ce qu'un point soit ajouté, ce qui conduit le système à s'adapter parfaitement au bruit, prédisant ainsi efficacement de nouvelles valeurs.

  • 00:30:00 Dans cette section, l'orateur présente le concept de surajustement et démontre ses effets en ajoutant une petite quantité de bruit à un ensemble de données et en ajustant à la fois un modèle quadratique et un modèle du premier degré. Il est montré que le modèle quadratique ne fonctionne pas bien avec le bruit ajouté, alors que le modèle du premier degré lui est plus résilient. Le conférencier souligne que trouver le juste équilibre entre un modèle trop complexe et un modèle insuffisamment complexe est crucial pour prédire avec précision les résultats. La section se termine par une suggestion de méthode pour trouver le bon modèle.

  • 00:35:00 Dans cette section, la vidéo explique comment déterminer le meilleur modèle pour un ensemble de données donné, en particulier dans les cas où il n'y a pas de théorie pour guider le choix. Une approche consiste à augmenter l'ordre du modèle jusqu'à ce qu'il réussisse à prédire de nouvelles données, mais ne surajuste pas les données d'apprentissage d'origine. À titre d'exemple, la vidéo examine comment la loi de Hooke s'applique à l'étirement d'un ressort et montre que différents modèles linéaires sont nécessaires pour différents segments de données, soulignant l'importance de segmenter les données de manière appropriée. La validation croisée, y compris la validation sans omission et la validation K-fold, peut également aider à guider le choix de la complexité du modèle lorsqu'il s'agit d'ensembles de données plus volumineux.

  • 00:40:00 Dans cette section, l'orateur explique comment utiliser la validation croisée pour déterminer le meilleur modèle pour prédire la température maximale quotidienne moyenne aux États-Unis sur une période de 55 ans. Ils utilisent un échantillonnage aléatoire répété pour sélectionner des échantillons aléatoires dans l'ensemble de données, former un modèle sur l'ensemble d'apprentissage et le tester sur l'ensemble de test. Ils calculent également les moyennes annuelles de la température élevée pour la tracer et créer des modèles aux dimensions linéaires, quadratiques, cubiques et quartiques, où ils s'entraînent sur une moitié des données, testent sur l'autre moitié et enregistrent le coefficient de détermination pour obtenir une moyenne. Ils rapportent les valeurs moyennes pour chaque dimensionnalité.

  • 00:45:00 Dans cette section, le présentateur montre comment diviser de manière aléatoire l'ensemble de données en ensembles d'apprentissage et de test à l'aide d'une méthode d'échantillonnage de points aléatoires. Il parcourt ensuite une boucle où il configure différents ensembles d'entraînement et de test, puis ajuste chaque dimension à l'aide d'un ajustement polynomial. Le modèle peut ensuite être utilisé pour prédire les valeurs de l'ensemble de tests et les comparer aux valeurs réelles, en calculant la valeur R au carré et en l'ajoutant. Il conclut que l'exécution de plusieurs essais est nécessaire pour obtenir des statistiques sur ces essais ainsi que des statistiques dans chaque essai. Cela leur permet de sélectionner le modèle le plus simple possible qui tient compte des données.

  • 00:50:00 Dans cette section, l'orateur discute de la complexité des modèles capables de prédire efficacement de nouvelles données basées sur des données expérimentales. Cette complexité peut provenir de la théorie ou de la validation croisée pour déterminer le modèle le plus simple qui fait toujours un bon travail de prédiction du comportement des données.
 

Cours 11. Introduction à l'apprentissage automatique



11. Introduction à l'apprentissage automatique

La vidéo traite du concept d'apprentissage automatique, de son fonctionnement et de deux façons courantes de le faire : l'apprentissage supervisé et non supervisé. Il montre ensuite un exemple d'apprentissage-entraînement supervisé d'une machine pour prédire la position de nouveaux joueurs de football en fonction de leur taille et de leur poids.

  • 00:00:00 Ce résumé en 1 paragraphe est destiné à donner un aperçu général de la vidéo, Machine Learning. Il commence par introduire l'idée d'apprentissage automatique et ses diverses applications, avant d'aborder les deux principales méthodes d'apprentissage automatique : la classification et le clustering. La vidéo présente ensuite les bases de la régression linéaire, avant d'aborder plus en détail le sujet de l'apprentissage automatique. La dernière section de la vidéo se concentre sur l'introduction des concepts d'apprentissage automatique aux étudiants d'une manière plus concise.

  • 00:05:00 L'apprentissage automatique est le processus d'apprentissage informatique sans être explicitement programmé. Dans cette conférence, nous discutons de certains des différents types d'algorithmes d'apprentissage automatique et de leur fonctionnement. Nous soulignons également quelques exemples d'utilisation actuelle de l'apprentissage automatique.

  • 00:10:00 Cette vidéo traite de l'idée de l'apprentissage automatique, de son fonctionnement et de deux façons courantes de le faire : l'apprentissage supervisé et non supervisé. Il montre ensuite un exemple d'apprentissage-entraînement supervisé d'une machine pour prédire la position de nouveaux joueurs de football en fonction de leur taille et de leur poids.

  • 00:15:00 Dans cette vidéo, un algorithme d'apprentissage automatique est démontré qui peut être utilisé pour créer des groupes de données en fonction de la distance. L'algorithme fonctionne en choisissant deux exemples comme exemples, en regroupant tous les autres exemples en disant simplement de le placer dans le groupe auquel il est le plus proche de cet exemple, puis en trouvant l'élément médian de ce groupe.

  • 00:20:00 L'apprentissage automatique est un processus d'apprentissage de la manière d'identifier des modèles dans les données. Le processus commence par la formation d'un modèle d'apprentissage automatique sur des données étiquetées, puis utilise ce modèle pour identifier des modèles dans des données non étiquetées. Il existe deux manières principales de procéder : utiliser des données étiquetées et utiliser des données non étiquetées. Dans le premier cas, le modèle d'apprentissage automatique est capable d'identifier des modèles dans les données qui correspondent aux étiquettes qui lui ont été attribuées. Dans le second cas, le modèle d'apprentissage automatique est capable d'identifier des modèles dans les données qui correspondent aux caractéristiques sélectionnées par l'utilisateur.

  • 00:25:00 Cette vidéo traite du concept d'ingénierie des fonctionnalités, qui consiste à déterminer quelles fonctionnalités mesurer et comment les pondérer afin de créer un modèle aussi précis que possible. L'exemple utilisé est celui de l'étiquetage des reptiles, et s'il est facile d'étiqueter un seul exemple, cela devient plus difficile à mesure que le nombre d'exemples augmente. La vidéo aborde ensuite le concept de sélection de fonctionnalités, qui consiste à choisir les fonctionnalités à conserver et celles à supprimer afin de créer un modèle aussi précis que possible. La vidéo se termine par un exemple d'étiquetage des poulets, qui ne correspond pas au modèle pour les reptiles, mais correspond au modèle pour le poulet.

  • 00:30:00 La vidéo fournit une introduction à l'apprentissage automatique et à ses principes. Il couvre l'importance de concevoir un système qui n'étiquettera jamais à tort des données comme étant quelque chose qu'elles ne sont pas, en utilisant l'exemple d'un jeu où deux joueurs essaient de déterminer la différence entre eux. Il introduit la métrique de Minkowski, qui est un moyen de mesurer la distance entre les vecteurs.

  • 00:35:00 Cette vidéo présente la distance euclidienne, une mesure de distance standard dans le plan, et la distance de Manhattan, une métrique utilisée pour comparer les distances entre des objets aux caractéristiques différentes. La distance euclidienne est basée sur la racine carrée de deux, tandis que la distance de Manhattan est basée sur la distance entre les points d'une grille. Dans certains cas, comme lors de la comparaison du nombre de pattes de différentes créatures, la différence de caractéristiques entre les objets peut être plus importante que la distance entre les objets eux-mêmes. L'ingénierie des fonctionnalités, c'est-à-dire choisir les fonctionnalités à mesurer et comment les pondérer, est importante dans l'apprentissage automatique.

  • 00:40:00 Cette vidéo couvre l'importance des échelles et comment elles peuvent affecter le fonctionnement d'un algorithme d'apprentissage automatique. Il explique comment les poids peuvent être utilisés de différentes manières et comment mesurer la distance entre les exemples. Il explique également comment regrouper les données à l'aide d'un certain nombre de méthodes et comment choisir le bon nombre de clusters.

  • 00:45:00 Cette vidéo présente le concept d'apprentissage automatique et montre comment ajuster une courbe aux données pour séparer deux groupes. Il fournit également un exemple d'évaluation d'un modèle d'apprentissage automatique.

  • 00:50:00 Cette vidéo traite du compromis entre la sensibilité (combien de choses ont été correctement étiquetées) et la spécificité (la précision avec laquelle les étiquettes ont identifié les éléments souhaités). Le professeur Guttag fait la démonstration d'une technique appelée ROC (Receiver Operator Curves), qui aide à rendre ce compromis plus facile à comprendre.
 

Cours 12. Regroupement




12. Regroupement

Cette vidéo examine le concept de regroupement des points de données en groupes. Il explique comment effectuer le clustering à l'aide de l'algorithme k-means et comment optimiser l'algorithme pour la vitesse. Il explique également comment utiliser le clustering pour diagnostiquer les problèmes liés aux données.

  • 00:00:00 L'objectif de cette vidéo est de revoir les concepts de variabilité et de regroupement. La vidéo explique que la variabilité est la somme de la distance entre la moyenne d'un cluster et chaque exemple du cluster, et que le clustering est le problème d'optimisation consistant à regrouper un ensemble d'exemples en un seul cluster.

  • 00:05:00 Le regroupement hiérarchique est une méthode de regroupement d'éléments dans un ensemble de données. L'algorithme commence par affecter chaque élément à son propre cluster, puis trouve les deux clusters les plus similaires. S'il reste moins de cinq clusters, l'algorithme fusionne les deux clusters les plus proches en un seul cluster.

  • 00:10:00 La vidéo traite de différentes métriques de clustering et explique comment chacune affecte les résultats finaux du clustering. Par exemple, une liaison simple est utilisée pour joindre des villes plus proches les unes des autres, tandis qu'une liaison complète est utilisée pour joindre des villes plus éloignées les unes des autres.

  • 00:15:00 La vidéo explique comment fonctionne le clustering, et l'algorithme le plus couramment utilisé est k-means. Il est rapide et efficace, mais il peut être optimisé pour le rendre encore plus rapide.

  • 00:20:00 Dans cette vidéo, l'auteur explique comment regrouper des objets en sélectionnant au hasard des centroïdes K et en attribuant des points à ces centroïdes. L'auteur discute également de l'inconvénient potentiel d'un mauvais choix de K. Enfin, l'auteur recommande d'utiliser un bon algorithme k-means pour trouver le meilleur K.

  • 00:25:00 Dans cette vidéo, l'auteur explique comment effectuer un clustering hiérarchique et k-means sur un sous-ensemble de données. Il discute également des faiblesses de l'algorithme et comment les corriger.

  • 00:30:00 Cette vidéo explique comment regrouper des données à l'aide de l'algorithme k-means. Les données sont divisées en clusters et les centroïdes de chaque cluster sont calculés.

  • 00:35:00 Dans cette conférence, le professeur explique comment regrouper les données à l'aide de la mise à l'échelle et de la variance. Il montre comment mettre à l'échelle un vecteur de caractéristiques et comment calculer la moyenne et l'écart type des données mises à l'échelle.

  • 00:40:00 Cette vidéo explique comment regrouper des données à l'aide de différentes méthodes, notamment la mise à l'échelle Z, l'interpolation et les k-moyennes. Les résultats montrent que les données ne sont pas bien regroupées et qu'il n'y a pas de différence statistiquement significative entre les deux clusters.

  • 00:45:00 La vidéo explique comment le clustering peut être utilisé pour diagnostiquer les problèmes de données. En particulier, il montre comment le regroupement peut être utilisé pour trouver des groupes de patients présentant des caractéristiques similaires, tels que ceux qui sont susceptibles d'être positifs. La vidéo montre ensuite comment le clustering peut être utilisé pour trouver différentes valeurs de K, ce qui augmente le nombre de clusters trouvés.

  • 00:50:00 Dans cette vidéo, des data scientists discutent du clustering. Ils expliquent que le clustering est le processus de regroupement de données en groupes similaires. Ils expliquent comment différents paramètres peuvent être utilisés pour créer différents clusters et comment le data scientist doit réfléchir aux données afin de créer les meilleurs clusters.
 

Cours 13. Classification



13. Classement

Cette vidéo couvre plusieurs méthodes de classification, notamment le voisin le plus proche, les K-plus proches voisins (KNN) et la régression logistique. Le présentateur démontre KNN en utilisant des exemples de classification animale et de reconnaissance de l'écriture manuscrite et explique comment il évite les données bruyantes pour fournir des résultats plus fiables. Ils présentent l'ensemble de données Titanic et expliquent l'importance de trouver le bon équilibre lors de l'utilisation de mesures telles que la sensibilité et la spécificité pour évaluer les performances d'un modèle de classification. De plus, la vidéo traite de deux méthodes de test, le sous-échantillonnage aléatoire aléatoire et répété, et comment les appliquer à la classification KNN. Enfin, le présentateur explique pourquoi la régression logistique est préférée à la régression linéaire pour les problèmes de classification, en soulignant sa capacité à attribuer différents poids à différentes variables et à fournir des informations sur les variables grâce aux poids des caractéristiques.

  • 00:00:00 Dans cette section, l'instructeur commence par introduire le concept de classification dans l'apprentissage supervisé, qui consiste à prédire une valeur discrète, souvent appelée "étiquette", associée à un vecteur de caractéristiques. Cela peut inclure la prédiction si quelqu'un aura une réaction indésirable à un médicament ou sa note dans un cours. L'instructeur donne ensuite un exemple utilisant une matrice de distance et une représentation binaire des animaux pour les classer comme reptiles ou non. L'approche la plus simple de la classification, connue sous le nom de voisin le plus proche, consiste à se souvenir des données d'apprentissage et à sélectionner l'étiquette associée à l'exemple le plus proche lors de la prédiction de l'étiquette d'un nouvel exemple.

  • 00:05:00 Dans cette section, le présentateur explique la méthode de classification des K plus proches voisins (KNN), qui évite les données bruitées et est plus fiable que la méthode du plus proche voisin. Il démontre KNN en utilisant des exemples tels que la classification des animaux et la reconnaissance de l'écriture manuscrite. La méthode KNN prend le "vote" de plusieurs voisins les plus proches, généralement un nombre impair, au lieu du seul plus proche, ce qui réduit l'influence des valeurs aberrantes. Le présentateur conclut que, bien que non infaillible, KNN est une méthode de classification généralement plus fiable pour les données avec bruit.

  • 00:10:00 Dans cette section, la vidéo traite de l'algorithme des K plus proches voisins et de certaines de ses limites. Bien que les K-plus proches voisins soient efficaces et faciles à comprendre, cela nécessite de stocker tous les exemples d'entraînement, ce qui peut être gourmand en mémoire, et la prédiction des classifications peut prendre beaucoup de temps en raison de la nécessité de comparer des exemples. De plus, si K est trop grand, l'algorithme peut être dominé par la taille de la classe, entraînant des erreurs de classification. La vidéo suggère d'utiliser la validation croisée pour choisir la meilleure valeur pour K et explique qu'il est important de choisir K de manière à ce qu'il y ait un gagnant clair dans le processus de vote.

  • 00:15:00 Dans cette section, le présentateur présente un nouvel exemple de classification - prédire quels passagers survivraient à la catastrophe du Titanic à l'aide de l'apprentissage automatique. L'ensemble de données comprend des informations sur la classe, l'âge, le sexe des passagers et s'ils ont survécu ou non. Pour évaluer le modèle d'apprentissage automatique, le présentateur explique pourquoi la précision seule n'est pas une bonne métrique lorsqu'il y a un déséquilibre de classe, et introduit d'autres métriques telles que la sensibilité, la spécificité, la valeur prédictive positive et la valeur prédictive négative. Il explique également l'importance de choisir le bon équilibre et comment ces mesures fournissent des informations différentes.

  • 00:20:00 Dans cette section, l'orateur discute de l'importance de la sensibilité et de la spécificité des classificateurs et de la manière de tester un classificateur. La sensibilité et la spécificité doivent être équilibrées en fonction de l'application du classificateur. Par exemple, un test de cancer nécessiterait plus de sensibilité, tandis qu'un test pour une chirurgie à cœur ouvert nécessiterait plus de spécificité. L'orateur explique ensuite deux méthodes pour tester un classifieur : l'omission d'un seul (utilisé pour les petits ensembles de données) et le sous-échantillonnage aléatoire répété (utilisé pour les grands ensembles de données). Ce dernier consiste à diviser de manière aléatoire les données en ensembles pour la formation et les tests, et un paramètre appelé méthode d'apprentissage automatique est introduit pour comparer différentes méthodes telles que kN et la régression logistique. Le code de ces tests est présenté et l'orateur insiste sur l'importance de tester un classifieur pour valider ses performances.

  • 00:25:00 Dans cette section, l'instructeur discute de deux méthodes de test, en laisse une de côté et un échantillonnage aléatoire répété, et montre comment les appliquer à la classification KNN. L'instructeur explique également comment utiliser l'abstraction lambda, une astuce de programmation courante en mathématiques, pour transformer une fonction à quatre arguments en une fonction à deux arguments. Les résultats de la classification KNN utilisant les deux méthodes de test sont présentés et ne sont pas significativement différents, ce qui indique que la précision des critères d'évaluation est cohérente. La classification KNN a également obtenu de meilleurs résultats que la prédiction aléatoire.

  • 00:30:00 Dans cette section, l'orateur discute de la régression logistique, qui est une méthode couramment utilisée dans l'apprentissage automatique. Contrairement à la régression linéaire, qui est conçue pour prédire un nombre réel, la régression logistique prédit une probabilité d'un certain événement. Cette méthode trouve des pondérations pour chaque caractéristique, calcule pour chaque caractéristique une pondération utilisée pour faire des prédictions et utilise un processus d'optimisation pour calculer ces pondérations à partir des données d'apprentissage. La régression logistique utilise la fonction log, d'où son nom, et SK learn linear model est une bibliothèque Python utilisée pour l'implémenter.

  • 00:35:00 Dans cette section, l'intervenant explique comment créer un modèle de régression logistique à l'aide de données d'apprentissage et le tester à l'aide d'un ensemble de vecteurs de caractéristiques. Le modèle de régression logistique est créé à l'aide de la bibliothèque SKLearn, et une fois que les poids des variables ont été calculés, le modèle peut être utilisé pour prédire les probabilités de différentes étiquettes en fonction d'un vecteur de caractéristiques donné. L'orateur introduit également la compréhension de liste, un moyen polyvalent et efficace de créer de nouvelles listes à partir de listes existantes, ce qui peut être particulièrement utile lors de la construction d'ensembles de vecteurs de caractéristiques de test.

  • 00:40:00 Dans cette section, l'orateur discute de la compréhension des listes en Python et de sa commodité pour certaines tâches, mais met en garde contre son utilisation abusive. À l'avenir, l'orateur explique son processus d'application de la régression logistique en tant que modèle et comment il le construit et le teste à l'aide des données de formation et de test. Ils définissent ensuite la LR, ou régression logistique, et montrent comment le modèle peut être appliqué avec les étiquettes « survécu » et « non survécu ». L'orateur note que la régression logistique est plus rapide que KNN, car une fois les poids obtenus, l'évaluation du modèle est un processus rapide.

  • 00:45:00 Dans cette section, l'instructeur explique pourquoi la régression logistique est préférée à la régression linéaire pour les problèmes de classification. Premièrement, la régression logistique est considérée comme plus subtile et peut attribuer différents poids à différentes variables pour de meilleures performances. Deuxièmement, il fournit des informations sur les variables grâce à des pondérations de caractéristiques qui peuvent être imprimées en sortie. En examinant les poids, on peut donner un sens aux variables utilisées pour la classification. Par exemple, dans le modèle présenté, les passagers de cabine de première classe ont un effet positif sur la survie, tandis que l'âge et le fait d'être un homme ont des effets négatifs. L'instructeur conseille également d'être prudent lors de l'interprétation des pondérations des caractéristiques, car les variables peuvent être corrélées.
 

Cours 14. Classification et péchés statistiques



14. Classification et péchés statistiques

Cette vidéo YouTube traite de divers péchés de classification et statistiques qui peuvent conduire à des conclusions incorrectes. L'un des principaux points à retenir est l'importance de comprendre les informations qui peuvent être tirées de l'étude des modèles d'apprentissage automatique, car l'interprétation des poids des variables dans la régression logistique peut être trompeuse, en particulier lorsque les caractéristiques sont corrélées. La vidéo souligne également l'importance d'évaluer les performances des classificateurs à l'aide de l'aire sous la courbe des caractéristiques de fonctionnement du récepteur (AUROC) et d'éviter la tentation d'utiliser les chiffres à mauvais escient. De plus, l'importance d'examiner les données et d'éviter l'échantillonnage non représentatif est soulignée, car cela peut conduire à des péchés statistiques tels que Garbage In, Garbage Out (GIGO) et le biais du survivant.

  • 00:00:00 Dans cette section de la vidéo, l'instructeur explique l'importance d'étudier les modèles d'apprentissage automatique pour mieux comprendre les systèmes et les processus qui ont généré les données. Il le démontre en examinant les poids de différentes variables dans un modèle de régression logistique, qui a été utilisé pour prédire les taux de survie pour l'ensemble de données Titanic. En examinant les poids relatifs de différentes variables, l'instructeur conclut que le fait d'être un passager masculin en troisième classe était associé à une probabilité beaucoup plus élevée de ne pas survivre au naufrage. Il met en garde contre le fait de s'appuyer uniquement sur des modèles d'apprentissage automatique pour faire des prédictions sans comprendre les informations qui peuvent être tirées de leur étude.

  • 00:05:00 Dans cette section, l'orateur explique les problèmes d'interprétation des poids dans la régression logistique, en particulier lorsque les caractéristiques sont corrélées. Il existe deux façons d'utiliser la régression logistique, L1 et L2, L2 étant la valeur par défaut en Python. L1 est conçu pour trouver des poids et les ramener à zéro, ce qui est utile pour éviter le surajustement dans les problèmes de grande dimension. Cependant, L1 conduira une variable à zéro même si elle est importante mais corrélée avec une autre variable qui a plus de poids. D'autre part, L2 répartit le poids sur toutes les variables, ce qui donne l'impression qu'aucune d'entre elles n'est très importante, en particulier lorsqu'elles sont corrélées. Pour illustrer cela, le conférencier a donné un exemple des classes de cabine sur le Titanic et a expliqué comment l'élimination d'une variable pouvait changer l'interprétation des résultats.

  • 00:10:00 Dans cette section, la vidéo explore le problème de la surinterprétation des pondérations lorsqu'il s'agit de caractéristiques corrélées. Tout en analysant certains exemples, la vidéo souligne que l'interprétation du signe des poids peut être utile tandis que l'interprétation des poids eux-mêmes peut être trompeuse. La vidéo aborde ensuite le paramètre P de la régression logistique et explique comment différentes valeurs de P peuvent avoir un impact sur la précision et la sensibilité des prédictions. La vidéo conclut en soulignant que même si la précision semble être bonne, il pourrait y avoir des problèmes de sensibilité, indiquant la nécessité d'analyser les résultats de manière exhaustive avant de tirer des conclusions significatives.

  • 00:15:00 Dans cette section, l'orateur parle de la caractéristique de fonctionnement du récepteur (ROC) et de la manière dont il s'agit d'une courbe qui nous permet d'examiner toutes les coupures possibles d'un modèle pour voir la forme des résultats, où l'axe y présente la sensibilité et l'axe des x montre 1 moins la spécificité. Ils mentionnent l'importance de l'aire sous la courbe (AUC) et comment elle aide à mieux comprendre les performances d'un modèle. L'orateur avertit d'éviter les coins de la courbe qui sont très sensibles/non spécifiques ou très spécifiques/insensibles lors du choix d'un seuil pour un modèle, afin d'éviter que le modèle ne prenne de mauvaises décisions et des erreurs inutiles.

  • 00:20:00 Dans cette section, l'orateur discute du concept d'évaluation des performances des classificateurs à l'aide de l'aire sous la courbe de fonctionnement du récepteur (AUROC). Ils expliquent comment la courbe montre l'efficacité du classificateur par rapport à un classificateur aléatoire et que plus la courbe est proche de un, meilleure est la performance du classificateur. L'orateur note également que la détermination de la signification statistique du score AUROC peut être un défi et dépend de plusieurs facteurs, notamment le nombre de points de données et l'application à portée de main. En fin de compte, l'utilité du score AUROC est ce qui compte, et il devrait aider à prendre des décisions pratiques.

  • 00:25:00 Dans cette section, l'orateur discute du concept de la courbe AUROC (Aire sous la caractéristique de fonctionnement du récepteur) et explique comment elle est couramment utilisée par rapport à la spécificité. Ils expliquent que l'astuce consistant à calculer l'aire sous la courbe est facilitée par l'utilisation de la courbe concave obtenue à partir de la mesure de la spécificité, ce qui facilite la visualisation et la comparaison des statistiques. Cependant, ils avertissent que cet outil peut être utilisé à des fins trompeuses, et les statisticiens doivent comprendre comment éviter la tentation d'utiliser les chiffres à mauvais escient. Ils soulignent que les nombres eux-mêmes ne mentent pas, mais que les menteurs utilisent les nombres pour créer de fausses impressions. L'orateur propose un ensemble de paires XY où il explique que bien que statistiquement les paires semblent être les mêmes, elles peuvent être très différentes lorsqu'elles sont représentées graphiquement.

  • 00:30:00 Dans cette section, l'orateur discute de l'importance de ne pas confondre les statistiques avec les données réelles, et souligne la valeur de la visualisation des données à travers des tracés et des graphiques. Cependant, il avertit également que des images trompeuses peuvent être créées intentionnellement ou non, et souligne la nécessité d'examiner attentivement les étiquettes et de comprendre le contexte d'un graphique avant de tirer des conclusions. Le conférencier présente deux exemples de graphiques visuellement trompeurs, l'un impliquant une comparaison des grades selon le sexe et l'autre une comparaison du nombre de personnes bénéficiant de l'aide sociale et occupant un emploi à temps plein.

  • 00:35:00 Dans cette section, l'orateur discute du péché statistique commun de Garbage In, Garbage Out (GIGO). Ils fournissent un exemple des années 1840 dans lequel les données du recensement ont été utilisées pour affirmer que l'esclavage était bon pour les esclaves, déclarant que les esclaves libérés étaient plus susceptibles d'être fous que les esclaves réduits en esclavage. John Quincy Adams a exposé les erreurs dans cette affirmation et a fait valoir que des fausses déclarations atroces avaient été faites. L'orateur souligne que l'exactitude des données est cruciale, et même s'il y a des erreurs, elles doivent être impartiales, indépendantes et distribuées de manière identique pour éviter les déchets entrants et sortants.

  • 00:40:00 Dans cette section, l'orateur met en garde contre l'analyse de mauvaises données qui peut être pire que pas d'analyse du tout. Souvent, les gens font des analyses statistiques incorrectes avec des données incorrectes, ce qui conduit à des conclusions risquées. L'orateur donne l'exemple de l'analyse erronée des données de recensement du XIXe siècle par les abolitionnistes. L'analyse des erreurs non aléatoires dans les données a conduit à des conclusions qui n'étaient pas exactes. L'orateur cite ensuite comment le parti pris des survivants a amené les alliés à conclure le mauvais point sur leurs avions pendant la Seconde Guerre mondiale. Ils ont analysé les avions qui revenaient des bombardements et renforcé les points touchés par les balles de la flak, au lieu des avions abattus. L'orateur explique que les techniques statistiques sont basées sur l'hypothèse qu'en échantillonnant au hasard un sous-ensemble de la population, des déclarations mathématiques sur l'ensemble de la population peuvent être faites. Lorsque l'échantillonnage aléatoire est utilisé, des conclusions significatives peuvent être tirées.

  • 00:45:00 Dans cette section, l'orateur discute de l'échantillonnage non représentatif, également connu sous le nom d'échantillonnage de commodité, et de son impact sur l'analyse statistique. Il explique comment les échantillons de convenance ne sont généralement pas aléatoires et souffrent donc d'un biais de survivant, ce qui peut fausser les résultats des sondages d'opinion et des évaluations de cours, entre autres. De plus, il note comment le calcul de l'erreur standard, qui suppose des échantillons aléatoires et indépendants, ne peut pas tirer de conclusions fiables à partir d'échantillons de commodité, citant les sondages politiques comme exemple du manque de fiabilité de l'analyse statistique. Le principal point à retenir est l'importance de comprendre comment les données ont été collectées et analysées, et si les hypothèses sous-jacentes à l'analyse sont vraies, afin d'éviter de devenir la proie de péchés statistiques.
 

MIT 6.0002 Introduction à la pensée computationnelle et à la science des données, automne 2016. Cours 15. Péchés statistiques et conclusion



15. Péchés statistiques et conclusion

Dans cette vidéo, John Guttag discute des trois principaux types de péchés statistiques et donne un exemple de la façon dont chacun peut conduire à de fausses conclusions. Il exhorte les élèves à être conscients du type de données qu'ils examinent et à utiliser un intervalle approprié pour s'assurer que leurs conclusions sont exactes.

  • 00: 00: 00 John Guttag discute des trois principaux types de péchés statistiques : commettre les péchés de l'axe des ordonnées en commençant à 0, tronquer les données pour les rendre correctes et confondre les fluctuations avec les tendances. Il donne également un exemple d'un sujet moins controversé, la fièvre et la grippe, où il est clair que la température ne change pas quand on attrape la grippe. Guttag exhorte les étudiants à être conscients du type de données qu'ils examinent et à utiliser un intervalle approprié pour s'assurer que leurs conclusions sont exactes.

  • 00:05:00 Dans cette vidéo, un statisticien et professeur discute des dangers des données de sélection de cerises, qui peuvent conduire à de fausses conclusions. Il suggère que, pour tirer des conclusions solides, les scientifiques devraient examiner les données sur une période de temps appropriée.

  • 00:10:00 L'orateur souligne que les chiffres en eux-mêmes ne signifient pas toujours grand-chose et que le contexte est important lorsque l'on considère les statistiques. Il discute de deux exemples de statistiques où le contexte est important : la grippe porcine et la grippe saisonnière. Il note également que lorsqu'on parle de variation en pourcentage, il est important de connaître le dénominateur.

  • 00:15:00 Cette vidéo traite des pièges liés à l'utilisation de pourcentages pour calculer des éléments, tels que des grappes de cancer. Il montre comment les simulations mathématiques peuvent donner une image plus précise de la probabilité de quelque chose et comment les avocats peuvent utiliser ces informations dans leurs affaires juridiques.

  • 00:20:00 Cette vidéo explique comment l'analyse statistique peut aider à répondre aux questions de savoir si une certaine région a ou non un nombre élevé de cas de cancer. La vidéo montre également comment l'avocat en question a effectué une analyse statistique inappropriée, qui a conduit à des conclusions erronées.

  • 00:25:00 Dans cette vidéo, l'instructeur couvre diverses erreurs statistiques, y compris l'erreur du tireur d'élite du Texas et la vérification d'hypothèses multiples. Il avertit que le scepticisme et le déni sont différents, et que lorsqu'on tire des conclusions à partir de données, il faut faire attention à ne pas faire d'erreurs.

  • 00:30:00 Le principal point à retenir de cette vidéo est que la programmation consiste à résoudre des problèmes à l'aide de bibliothèques et d'algorithmes. La vidéo souligne également l'importance de penser en termes de probabilités et l'utilisation du hasard dans la résolution de problèmes.

  • 00:35:00 Dans cette vidéo, le professeur discute des différents modèles statistiques que les étudiants peuvent utiliser pour analyser les données. Il souligne l'importance de comprendre la fiabilité des résultats et donne des conseils sur la façon de présenter efficacement les données.

  • 00:40:00 Cette vidéo propose un bref historique de l'informatique et introduit le concept d'UROP (stage de recherche). Il explique que, même si l'informatique n'est peut-être pas la majeure la plus populaire sur le campus, c'est un domaine très intéressant à poursuivre. Enfin, la vidéo fournit quelques derniers conseils sur la façon de réussir dans la vie.
 

Cours accéléré d'apprentissage en profondeur pour les débutants


Cours accéléré d'apprentissage en profondeur pour les débutants

Cette vidéo propose un cours accéléré sur l'apprentissage en profondeur, axé sur les algorithmes d'apprentissage supervisés et non supervisés. Il couvre les concepts clés de chaque approche, y compris le modèle, l'état, la récompense, la politique et la valeur. Le principal inconvénient des modèles d'apprentissage en profondeur est qu'ils peuvent être sur-adaptés aux données d'apprentissage, ce qui entraîne une mauvaise généralisation. Les techniques de lutte contre le surajustement sont discutées, y compris l'abandon et l'augmentation des ensembles de données. Ce cours d'introduction à l'apprentissage en profondeur donne un aperçu général du sujet, en soulignant l'importance des réseaux de neurones et du décrochage. Il explique également comment le surapprentissage peut être réduit en comprenant les bases de l'apprentissage en profondeur.

  • 00:00:00 Dans cette vidéo, Jason guide les téléspectateurs à travers un cours accéléré sur l'apprentissage en profondeur, expliquant ce qu'est l'apprentissage en profondeur et son importance. Il poursuit en expliquant le fonctionnement de l'apprentissage en profondeur, en se concentrant sur ses principaux avantages par rapport à l'apprentissage automatique traditionnel : qu'il peut apprendre des fonctionnalités et des tâches directement à partir des données, sans avoir besoin d'expertise dans le domaine ou d'intervention humaine. Enfin, Jason couvre certains des succès récents de l'apprentissage en profondeur, y compris sa capacité à surpasser les humains dans une variété de tâches.

  • 00:05:00 Les modèles d'apprentissage en profondeur nécessitent beaucoup de puissance de calcul et de données, et n'étaient pas disponibles il y a quelques décennies. Troisièmement, ces modèles sont rationalisés avec la popularité croissante des logiciels open source comme TensorFlow et PyTorch. Les réseaux de neurones constituent la base de l'apprentissage en profondeur, un sous-domaine de l'apprentissage automatique où les algorithmes s'inspirent de la structure du cerveau humain. Tout comme les neurones constituent le cerveau, les éléments constitutifs fondamentaux d'un réseau de neurones sont également des neurones. Les réseaux de neurones recueillent des données et s'entraînent à reconnaître des modèles dans ces données et à prédire les sorties d'un nouvel ensemble de données similaires. Dans la dernière étape avant la propagation, un nouveau réseau crache une prédiction. Si la prédiction est correcte, le réseau utilise une fonction de perte pour quantifier l'écart par rapport à la sortie attendue. Si la prédiction est erronée, le réseau utilise la rétropropagation pour ajuster les pondérations et les biais.

  • 00:10:00 Cette vidéo explique le fonctionnement du deep learning, en commençant par l'initialisation du réseau. Dans la première itération, le réseau reçoit un ensemble de données d'entrée. Le réseau est ensuite formé pour faire des prédictions à l'aide d'une fonction de perte. La rétropropagation est ensuite utilisée pour ajuster les poids et les biais dans le réseau. Le nouveau réseau est ensuite formé à l'aide de la descente de gradient jusqu'à ce qu'il soit capable de faire des prédictions pour l'ensemble de données complet. Cette approche présente certains inconvénients, notamment le fait que les ajustements apportés aux poids et aux biais ne dépendent pas des données d'entrée.

  • 00:15:00 Les trois fonctions d'activation les plus couramment utilisées dans l'apprentissage en profondeur sont le sigmoïde, le tanh et le relu. Ces fonctions ont des avantages et des inconvénients différents, mais au final, elles produisent toutes un réseau neuronal non linéaire. L'algorithme de descente de gradient est capable de bien gérer la rareté de l'activation, mais peut souffrir du "problème de la valeur mourante".

  • 00:20:00 L'apprentissage en profondeur est un domaine de l'apprentissage automatique qui traite de la formation de réseaux de neurones artificiels. Le cours accéléré commence par discuter de ce qu'est une fonction d'activation, puis explique pourquoi les fonctions d'activation non linéaires sont utilisées dans l'apprentissage en profondeur. Ensuite, le cours intensif traite des fonctions de perte et de la manière dont elles sont utilisées pour entraîner le réseau. Enfin, le cours accéléré parle des optimiseurs et de la manière dont ils sont utilisés pour rendre le réseau aussi précis que possible.

  • 00:25:00 La descente de gradient est un algorithme utilisé pour optimiser une fonction de perte donnée. Il commence à un point aléatoire et diminue la pente de la fonction de perte jusqu'à ce qu'elle atteigne un minimum ou un maximum. C'est un optimiseur populaire et il est rapide, robuste et flexible. La descente de gradient est itérative et utilise les gradients passés pour calculer l'étape suivante.

  • 00:30:00 Dans cette vidéo, l'auteur a décrit la différence entre les paramètres du modèle (variables internes dans un modèle d'apprentissage automatique) et les hyperparamètres (variables externes qui ne sont pas dans le modèle et dont les valeurs ne peuvent pas être estimées à partir des données). Les hyperparamètres sont souvent appelés "paramètres qui peuvent rendre les choses confuses" et sont généralement définis manuellement par le praticien. La descente de gradient et la rétropropagation sont deux processus itératifs courants utilisés dans l'apprentissage en profondeur. L'auteur note qu'il n'y a pas de "bonne réponse" en ce qui concerne le nombre d'époques nécessaires pour former un modèle d'apprentissage en profondeur, car différents ensembles de données nécessitent différents nombres d'itérations. Enfin, l'auteur propose quelques conseils pour utiliser efficacement le deep learning.

  • 00:35:00 Cette vidéo propose un cours intensif sur l'apprentissage en profondeur, axé sur l'apprentissage supervisé. Les principaux concepts abordés incluent les algorithmes d'apprentissage supervisé et leurs objectifs, ainsi que la régression linéaire et non linéaire.

  • 00:40:00 L'objectif principal de l'apprentissage non supervisé est de trouver des modèles et des relations dans les données qu'un observateur humain pourrait ne pas détecter. L'apprentissage non supervisé peut être divisé en deux types : le regroupement et l'association. Le clustering est l'application la plus simple et la plus courante de l'apprentissage non supervisé et est le processus de regroupement des données en différents clusters. Les classes contiennent des points de données aussi similaires que possible les uns aux autres et aussi différents que possible des points de données d'autres clusters. Le clustering aide à trouver des modèles sous-jacents dans les données qui peuvent ne pas être perceptibles par un observateur humain. Le clustering hiérarchique trouve des clusters par un système de hiérarchies et chaque point de données peut appartenir à plusieurs clusters. Le clustering hiérarchique peut être organisé sous forme d'arborescence. Certains des algorithmes de clustering les plus couramment utilisés sont les k-moyennes, les attentes et l'analyse de cluster hiérarchique de l'aca. L'association, quant à elle, tente de trouver des relations entre différentes entités. L'exemple classique des règles d'association est l'analyse du panier de consommation. L'apprentissage non supervisé trouve des applications presque partout, y compris airbnb, qui aide les hôtes à trouver des séjours et des expériences et connecte les gens du monde entier. Cette application utilise des algorithmes d'apprentissage non supervisés où un client potentiel interroge ses besoins et airbnb apprend ces modèles et recommande

  • 00:45:00 Le cours intensif d'apprentissage en profondeur pour débutants couvre les concepts clés de l'apprentissage par renforcement, y compris le modèle, l'état, la récompense, la politique et la valeur. Le principal inconvénient des modèles d'apprentissage en profondeur est qu'ils peuvent être sur-adaptés aux données d'apprentissage, ce qui entraîne une mauvaise généralisation. Les techniques de lutte contre le surajustement sont discutées, y compris l'abandon et l'augmentation des ensembles de données.

  • 00:50:00 Un réseau de neurones est un algorithme d'apprentissage automatique composé d'un certain nombre de nœuds de traitement interconnectés, ou neurones. Chaque neurone reçoit une entrée de ses neurones voisins et peut produire une sortie. Les réseaux de neurones sont utilisés pour modéliser des fonctions complexes et peuvent être formés à l'aide d'un certain nombre d'architectures différentes.

  • 00:55:00 Dans cette vidéo, le Crash Course introduit le concept de mémoire séquentielle, que les réseaux de neurones traditionnels peinent à modéliser. Les réseaux de neurones récurrents (RNn) sont un type de nouvelle architecture de réseau qui utilise une boucle de rétroaction dans la couche cachée, ce qui leur permet de modéliser des séquences de données avec une longueur d'entrée variable.
  • 01:00:00 La vidéo explique comment fonctionnent les réseaux de neurones récurrents et comment le problème de la mémoire à court terme peut être résolu en utilisant deux variantes du réseau : les réseaux de neurones récurrents fermés et les réseaux de neurones récurrents à longue mémoire à court terme.

  • 01:05:00 Les cinq étapes de l'apprentissage en profondeur sont la collecte de données, le prétraitement des données, la modélisation, la validation et la détection des erreurs. La qualité des données est importante, et de mauvaises données impliquent un mauvais modèle. Il n'y a pas de solution unique en matière de données, mais la règle générale est que la quantité de données dont vous avez besoin pour un modèle performant doit être 10 fois supérieure au nombre de paramètres de ce modèle.

  • 01:10:00 La vidéo traite de l'importance de la formation sur un ensemble de données fiables et de l'importance des ensembles de validation. Il explique ensuite le rapport de partage train-test-validation et fournit des exemples sur la manière de procéder à la validation croisée.

  • 01:15:00 L'apprentissage en profondeur est un processus complexe qui nécessite une préparation minutieuse des données avant de former un modèle. Une étape de ce processus de préparation consiste à traiter les données manquantes. Il existe plusieurs façons de le faire, et les deux ont des avantages et des inconvénients. La première option consiste à éliminer les échantillons avec des valeurs manquantes, mais cela peut être risqué car cela peut supprimer des informations pertinentes. La deuxième option consiste à imputer les valeurs manquantes, mais cela peut prendre du temps et ne pas être adéquat dans tous les cas. La mise à l'échelle des fonctionnalités est une autre étape importante dans la préparation des données pour l'apprentissage en profondeur, et elle aide à normaliser les données, à les standardiser et à réduire les effets des valeurs aberrantes. Une fois les données préparées, elles sont introduites dans un réseau pour entraîner le modèle. Le modèle est ensuite évalué à l'aide d'un ensemble de validation. Si le modèle est bon, il peut être optimisé davantage. N'oubliez pas que la préparation des données est un processus complexe et qui prend du temps, alors assurez-vous de regarder d'abord la vidéo si vous n'êtes pas sûr de quoi que ce soit.

  • 01:20:00 L'apprentissage en profondeur peut être très efficace, mais il peut aussi être sujet au surapprentissage. Il existe plusieurs façons d'éviter le surajustement, notamment l'obtention de plus de données, la réduction de la taille du modèle et la mise en œuvre de la régularisation du poids.

  • 01:25:00 Ce cours d'introduction à l'apprentissage en profondeur donne un aperçu général du sujet, soulignant l'importance des réseaux de neurones et du décrochage. Il explique également comment le surapprentissage peut être réduit en comprenant les bases de l'apprentissage en profondeur.
 

Fonctionnement des réseaux de neurones profonds - Cours complet pour débutants



Fonctionnement des réseaux de neurones profonds - Cours complet pour débutants

00:00:00 - 01:00:00 La vidéo "Comment fonctionnent les réseaux de neurones profonds - Cours complet pour les débutants" offre une explication complète du fonctionnement des réseaux de neurones, des équations de régression linéaire de base aux réseaux de neurones convolutionnels complexes utilisés dans la reconnaissance d'images. L'instructeur utilise des exemples et des aides visuelles pour expliquer le fonctionnement des réseaux de neurones, y compris comment les couches de nœuds effectuent des sommes pondérées et des compressions pour produire des sorties, le processus de rétropropagation pour ajuster les poids et minimiser les erreurs, et le concept de réseaux de neurones convolutifs pour reconnaître les modèles. en images. La vidéo couvre également des sujets tels que les fonctions logistiques, les perceptrons multicouches et l'utilisation de plusieurs fonctions de sortie pour créer des classificateurs.

01:00:00 - 02:00:00 Le cours sur le fonctionnement des réseaux de neurones profonds pour les débutants couvre plusieurs sujets liés au fonctionnement des réseaux de neurones. L'instructeur du cours discute de la convolution, de la mise en commun et de la normalisation et de la façon dont ils sont empilés pour former un réseau neuronal profond. La rétropropagation est également expliquée comme un processus utilisé pour ajuster les poids du réseau afin de réduire les erreurs. Le cours couvre également l'utilisation de vecteurs, de fonctions de déclenchement, d'écrasement et de réseaux de neurones récurrents dans la traduction séquence à séquence. L'instructeur fournit des exemples de la façon dont les réseaux LSTM prédisent le mot suivant dans une phrase et comment ils sont utiles dans les systèmes robotiques en identifiant des modèles au fil du temps. Enfin, la vidéo explique comment les réseaux de neurones sont entraînés à l'aide de la descente de gradient avec rétropropagation pour ajuster les poids et réduire les erreurs.

02:00:00 - 03:00:00 La vidéo "Comment fonctionnent les réseaux de neurones profonds - Cours complet pour les débutants" traite des performances des réseaux de neurones dans divers scénarios, en les comparant à l'intelligence au niveau humain. Le conférencier introduit une définition scientifique de l'intelligence comme la capacité de bien faire beaucoup de choses, et compare les performances et la généralité des machines et des humains sur une échelle logarithmique. La vidéo couvre des sujets tels que les limites des réseaux de neurones convolutifs dans la classification des images, le succès de l'apprentissage en profondeur dans les jeux de société et la traduction des langues, les limites de généralité des recommandateurs et des voitures autonomes, et la complexité croissante des robots humanoïdes. La vidéo met en évidence l'augmentation impressionnante de l'intelligence, de la généralité et des performances d'AlphaZero et plaide pour se concentrer sur l'interaction physique pour créer des algorithmes pouvant s'adapter à un ensemble plus général de tâches, nous rapprochant de l'intelligence au niveau humain. Enfin, l'instructeur explique le processus de convolution, de regroupement et de normalisation dans les réseaux de neurones convolutifs pour reconnaître les modèles et faire des prédictions précises.

03:00:00 - 03:50:00 Cette vidéo sur le fonctionnement des réseaux de neurones profonds guide un débutant dans le processus de catégorisation des images en construisant des neurones et des couches qui reconnaissent les modèles dans les valeurs de luminosité des images. La vidéo couvre le processus d'optimisation utilisant la descente de gradient et différentes méthodes d'optimisation comme les algorithmes génétiques et le recuit simulé. L'instructeur explique comment minimiser les erreurs et ajuster les poids par rétropropagation et comment optimiser les hyperparamètres dans les réseaux de neurones convolutionnels. Bien qu'il existe de nombreux outils disponibles pour créer des réseaux de neurones, une compréhension approfondie de la préparation des données, de l'interprétation et du choix des hyperparamètres reste importante.

Partie 1

  • 00: 00: 00 Dans cette section, l'instructeur fournit un exemple de la façon dont un réseau de neurones fonctionnerait s'il était chargé de déterminer automatiquement si une image en noir et blanc à quatre pixels est une image solide entièrement blanche ou entièrement sombre, une ligne verticale, une ligne diagonale ou une ligne horizontale. Il explique qu'il est difficile de le faire avec des règles simples sur la luminosité des pixels, et à la place, un réseau de neurones commencerait par prendre toutes les entrées et attribuerait un numéro à chaque pixel en fonction de leur luminosité, plus un étant tous les façon blanc et moins un étant tout le chemin noir. Les connexions pondérées des neurones d'entrée sont ensuite additionnées et les valeurs sont écrasées pour garantir que la valeur du neurone ne dépasse jamais la plage de plus un à moins un, ce qui est utile pour maintenir les calculs dans le réseau neuronal limités et stables.

  • 00:05:00 Dans cette section, la vidéo explique le fonctionnement des réseaux de neurones profonds et le fonctionnement de chaque couche. Les neurones d'une couche effectuent une somme pondérée et écrasent le résultat, qui devient alors l'entrée de la couche suivante. Au fur et à mesure que les couches s'approfondissent, les champs récepteurs se complexifient et couvrent tous les pixels. La vidéo présente également le concept d'unités linéaires rectifiées, qui remplacent la fonction d'écrasement, et ont de très belles propriétés de stabilité pour les réseaux de neurones. Enfin, après avoir créé autant de couches que nécessaire, la couche de sortie est créée, qui fournit les résultats du réseau de neurones.

  • 00:10:00 Dans cette section, l'instructeur explique comment les réseaux de neurones sont formés pour ajuster leurs poids afin de minimiser l'erreur entre leurs prédictions de sortie et la vérité réelle. Ceci est accompli en calculant la pente, ou le changement d'erreur par rapport à un changement de poids, et en ajustant les poids dans la direction qui diminue l'erreur. Il s'agit d'un processus coûteux en calcul car il nécessite la multiplication de tous les poids et valeurs de neurones à chaque couche pour chaque ajustement de poids. Cependant, il existe un aperçu qui permet de calculer directement la pente sans repasser par le réseau de neurones, ce qui rend le processus de formation plus efficace.

  • 00:15:00 Dans cette section, l'instructeur explique comment fonctionnent les réseaux de neurones profonds et comment ils utilisent le calcul pour calculer la pente afin d'ajuster les poids et de réduire les erreurs. À travers un exemple simple d'un réseau de neurones avec un poids, il démontre le concept de chaînage, où la pente de chaque petit pas est multipliée pour obtenir la pente de la chaîne complète. Il mentionne qu'il existe de nombreux types de rétropropagation qui nécessitent différentes opérations à effectuer sur chaque neurone, mais en fin de compte, l'objectif est de calculer la pente pour ajuster les poids et réduire efficacement les erreurs.

  • 00:20:00 Dans cette section, l'instructeur a expliqué comment rétropropager les éléments d'un réseau de neurones tels que la fonction sigmoïde et l'unité linéaire rectifiée pour calculer l'effet de l'ajustement d'un poids donné sur l'erreur. Pour former un réseau, on commence avec un réseau entièrement connecté, on attribue des valeurs aléatoires à tous ses poids et on calcule l'erreur en utilisant la rétropropagation pour ajuster légèrement ces poids. L'entrée connue avec la réponse détermine l'exactitude des poids, et le processus se répète avec plusieurs entrées jusqu'à ce que les poids gravitent vers un point bas où ils fonctionnent bien plus près de la vérité sur la plupart des images. Les réseaux de neurones ont tendance à estimer ces relations entre les variables d'entrée et de sortie, à apprendre en continu et à évaluer les relations non linéaires entre les données.

  • 00:25:00 Dans cette section, la vidéo explique comment une équation de régression linéaire peut être représentée sous forme de réseau. Cela nous aide à mieux comprendre le fonctionnement des réseaux de neurones. Le réseau est composé de nœuds et d'arêtes, les nœuds d'entrée étant x sub 0 et x sub 1, et le nœud de sortie étant v sub 0. Les poids, représentés par w sub 0 0 et w sub 1, sont les arêtes reliant les nœuds d'entrée et de sortie. C'est ce qu'on appelle un graphe acyclique orienté, ce qui signifie que les arêtes ne vont que dans une direction et qu'il n'y a aucun moyen de former une boucle. L'ajout de nœuds d'entrée supplémentaires peut rendre l'équation plus dimensionnelle, mais elle reste toujours une équation linéaire, les poids déterminant la relation entre les entrées et la sortie.

  • 00:30:00 Dans cette section, la vidéo traite du concept d'un réseau linéaire à deux couches et de la manière dont l'ajout de plusieurs couches peut augmenter sa complexité. Le réseau à deux couches est composé de couches identiques qui fonctionnent de la même manière. Pour rendre le modèle plus flexible, la non-linéarité doit être ajoutée. Une fonction non linéaire courante à ajouter est la fonction logistique, également connue sous le nom de fonction sigmoïde, qui a la forme d'un S. L'ajout de couches et de non-linéarité au réseau crée un modèle plus complexe qui peut fournir des résultats plus sophistiqués.

  • 00:35:00 Dans cette section, nous découvrons les fonctions logistiques et leur rôle dans la régression logistique, qui est utilisée comme classificateur. La régression logistique trouve la relation entre une entrée et une sortie continues et catégorielles, où les observations d'une catégorie sont traitées comme des zéros et les observations de l'autre catégorie sont traitées comme des uns, et une fonction logistique qui correspond le mieux à toutes ces observations est trouvée. En ajoutant plus d'entrées, la régression logistique peut fonctionner avec de nombreuses variables d'entrée, et celles-ci deviennent des classificateurs linéaires quel que soit le nombre de dimensions. Nous apprenons également la tangente hyperbolique, qui est une fonction non linéaire liée à la fonction logistique. Ces fonctions non linéaires nous aident à sortir du domaine des réseaux linéaires et nous offrent une plus grande variété de comportements que nous n'avons jamais vu dans les réseaux à une seule couche. En empilant des couches avec plusieurs nœuds cachés, nous pouvons créer des courbes plus complexes avec des ondulations, des pics et des vallées.

  • 00:40:00 Dans cette section, la vidéo décrit comment les courbes créées par un réseau à deux couches peuvent être mathématiquement identiques à celles créées à l'aide d'un réseau à plusieurs couches. Même si le réseau à plusieurs couches peut créer des courbes plus complexes en utilisant moins de nœuds, le réseau à deux couches peut toujours créer des courbes riches en utilisant suffisamment de nœuds cachés. La vidéo explique ensuite comment ces courbes peuvent être utilisées pour créer un classificateur et montre que les classificateurs non linéaires, contrairement aux classificateurs linéaires, peuvent créer des régions de classification entrelacées. La vidéo se termine en montrant le diagramme de réseau complet d'un perceptron multicouche et un diagramme générique pour un réseau à entrée unique à sortie unique à trois couches, qui peut être entièrement défini en spécifiant le nombre d'entrées, de sorties, de couches et de nœuds cachés.

  • 00:45:00 Dans cette section de la vidéo, le présentateur discute de l'utilisation d'un réseau de neurones à deux sorties pour créer un classificateur qui découpe l'espace d'entrée en régions en fonction de l'intersection des deux fonctions de sortie. Cette approche peut être étendue avec trois fonctions de sortie ou plus, permettant d'apprendre plus de catégories et de découper des espaces d'entrée de manière plus complexe qu'un classificateur linéaire ne peut le faire. Cependant, la catégorie gagnante peut ne pas être significativement meilleure que la catégorie finaliste. Malgré ses limites, cette méthode démontre la puissance des réseaux de neurones pour créer des frontières de catégories diversifiées tout en favorisant la fluidité grâce aux fonctions d'activation utilisées.

  • 00:50:00 Dans cette section, la vidéo traite des réseaux de neurones convolutifs (CNN) et de leur capacité à apprendre et à reconnaître des modèles dans des images, telles que des visages, des voitures et même des jeux vidéo. La vidéo explique que les CNN ne sont pas magiques mais basés sur des principes fondamentaux appliqués de manière intelligente. La vidéo utilise un exemple de jouet simple d'un CNN qui décide si une image d'entrée est un X ou un O pour illustrer le fonctionnement des CNN. La partie difficile des CNN est que de nombreuses variations sont possibles lors de l'identification de l'image. La vidéo explique comment un CNN peut gérer la variance et identifier l'image en décomposant l'image en motifs plus petits et en utilisant des filtres pour identifier ces motifs.

  • 00:55:00 Dans cette section, le cours explique comment les réseaux de neurones convolutifs peuvent faire correspondre des parties d'une image pour déterminer si deux pièces sont identiques. En décomposant les images en parties ou caractéristiques plus petites, le réseau neuronal convolutif peut identifier si les caractéristiques correspondent les unes aux autres. Le calcul derrière la correspondance de ces caractéristiques s'appelle le filtrage, et il consiste à aligner une caractéristique avec un patch d'une image, puis à multiplier un pixel par un autre pixel et à le diviser par le nombre total de pixels. L'application répétée de cette fonctionnalité sur l'image produit une carte de l'endroit où cette fonctionnalité se produit, permettant au réseau neuronal d'identifier les parties de l'image qui correspondent.


Partie 2

  • 01:00:00 Dans cette section, l'instructeur du cours explique les trois principales astuces utilisées dans les réseaux de neurones profonds. La première astuce est la couche de convolution, où une image est convoluée avec une série de filtres pour produire une pile d'images filtrées. La deuxième astuce est la mise en commun, qui est utilisée pour réduire la pile d'images en prenant une taille de fenêtre et une valeur de foulée pour obtenir une image plus petite représentant la valeur maximale dans la fenêtre. Enfin, la troisième astuce est la normalisation, qui est utilisée pour empêcher les calculs d'exploser et consiste à remplacer toutes les valeurs négatives de l'image par zéro. Ces astuces sont empilées pour former un réseau neuronal profond, et leur sortie forme un tableau de pixels qui peuvent être manipulés davantage.

  • 01:05:00 Dans cette section, la vidéo explique comment les réseaux de neurones peuvent utiliser une technique d'empilement profond de couches convolutionnelles et de regroupement qui filtrent et réduisent l'image à chaque itération. La couche finale entièrement connectée relie chaque liste d'images filtrées et réduites à une série de votes, qui deviennent la réponse finale. Pour obtenir ces pondérations, les réseaux de neurones s'appuient sur la rétropropagation pour s'ajuster en fonction du signal d'erreur final de la couche de sortie. Ce processus est connu sous le nom de descente de gradient.

  • 01:10:00 Dans cette section du cours pour débutants sur le fonctionnement des réseaux de neurones profonds, l'instructeur explique le processus de descente de gradient, qui permet d'ajuster les poids du réseau de neurones pour minimiser les erreurs. En ajustant les poids vers le haut et vers le bas, le réseau trouve la direction descendante et s'installe dans un minimum où l'erreur est la plus faible. Les hyperparamètres sont des boutons que le concepteur doit tourner, et ils incluent des décisions telles que le nombre de fonctionnalités utilisées, la taille de la fenêtre et la foulée dans les couches de regroupement, et le nombre de neurones cachés dans les couches entièrement connectées. De plus, l'instructeur explique que le réseau de neurones peut être appliqué à des données bidimensionnelles ou même tridimensionnelles ou quadridimensionnelles, tant que les données suivent un modèle où les éléments les plus proches sont plus étroitement liés. Cela permet au réseau d'être utilisé dans des domaines tels que l'analyse du son et du texte.

  • 01:15:00 Dans cette section, les limites des réseaux de neurones convolutionnels (CNN) sont abordées, car ils sont conçus pour capturer des modèles spatiaux locaux et, par conséquent, peuvent ne pas convenir aux données qui ne peuvent pas être représentées sous forme d'images. Les CNN sont très efficaces pour trouver des modèles et classer les images, mais si les données sont aussi utiles après avoir échangé l'une des colonnes les unes contre les autres, alors les CNN peuvent ne pas convenir. D'autre part, les réseaux de neurones récurrents (RNN), en particulier la mémoire longue à court terme (LSTM), sont utiles pour la traduction de séquence en séquence, avec des applications telles que la parole en texte ou d'une langue à une autre. Un exemple du fonctionnement des LSTM est donné pour prédire ce qu'il y a pour le dîner, où le processus de vote est simplifié grâce à l'observation des cycles du dîner.

  • 01:20:00 Dans cette section, l'instructeur explique le concept de vecteurs, qui n'est qu'une liste de nombres et comment cela peut être utile dans l'apprentissage automatique. Les vecteurs sont exprimés sous la forme d'une liste de toutes les valeurs possibles, et un numéro est attribué à chacune. L'instructeur explique comment le codage à chaud est souvent utilisé dans le codage des instructions. Le réseau neuronal est conçu en connectant chaque élément du vecteur d'entrée à chaque élément du vecteur de sortie. L'exemple utilisé consiste à prédire ce qu'il y a pour le dîner en utilisant des données passées en tenant compte de nos informations réelles d'hier et de notre prédiction d'hier. L'instructeur explique plus tard que les réseaux de neurones récurrents peuvent être utiles pour prédire ce qui vient ensuite dans une série, comme dans l'apprentissage des langues.

  • 01:25:00 Dans cette section, l'utilisation d'une fonction d'écrasement pour éviter les boucles de rétroaction est expliquée. Le réseau neuronal récurrent implique des votes pour un nom, une période ou une "scie" en fonction des mots qui ont été utilisés auparavant. Cependant, ce système est sujet à des erreurs et à des limitations car il ne peut retenir qu'un seul pas de temps. Pour les surmonter, une fonction de mémoire est ajoutée au réseau via des symboles supplémentaires, notamment une fonction d'écrasement avec un fond plat, un "x" dans un cercle et une croix dans un cercle pour l'addition et la multiplication par élément. Cela permet au réseau de se souvenir de ce qui s'est passé il y a de nombreuses étapes de temps et d'effectuer une multiplication élément par élément, permettant une fonctionnalité nouvelle et améliorée.

  • 01:30:00 Dans cette section, la vidéo présente le déclenchement, qui permet de contrôler ce qui est traversé et ce qui est bloqué dans un réseau de neurones. Le concept est démontré en utilisant des tuyaux avec différents niveaux de débit d'eau et des robinets, qui peuvent être fermés à zéro ou ouverts à un. L'introduction de la fonction logistique, qui écrase les valeurs entre zéro et un, permet de toujours avoir une valeur qui se situe dans cette plage. La vidéo montre ensuite comment le déclenchement peut être utilisé pour conserver et libérer de manière sélective des souvenirs et des prédictions à l'aide d'un ensemble de portes, chacune contrôlée par son propre réseau neuronal et sa propre fonction d'écrasement. Enfin, un mécanisme d'attention est introduit pour mettre de côté les entrées non pertinentes pour l'empêcher de brouiller les prédictions et la mémoire à l'avenir.

  • 01:35:00 Dans cette section, l'instructeur donne un exemple de la façon dont un réseau LSTM formé peut générer des prédictions pour le mot suivant dans une phrase. En supposant que le LSTM a été formé sur des exemples de livres pour enfants, la phrase d'exemple est "Jane a vu Spot". Le mot "Doug" est le mot le plus récent, et le LSTM prédit "Doug", "Jane" et "Spot" comme des options viables. Le LSTM transmet ensuite ces prédictions à travers quatre réseaux de neurones différents qui apprennent à faire des prédictions, et le LSTM prédit que "saw" est le mot suivant le plus probable. L'exemple montre comment un LSTM peut générer des prédictions basées sur les mots et prédictions précédents et éviter de commettre certaines erreurs en utilisant la mémoire et les portes de sélection.

  • 01:40:00 Dans cette section, l'instructeur explique comment les réseaux de neurones LSTM sont capables de revenir sur de nombreuses étapes de temps pour identifier des modèles dans les données, ce qui les rend efficaces dans des applications pratiques telles que la traduction linguistique et les logiciels de synthèse vocale. Il explique également comment les réseaux LSTM sont particulièrement utiles en robotique, où les actions entreprises par un agent peuvent influencer ce qui est détecté et ce qui doit être fait plusieurs fois plus tard. Bien que les réseaux LSTM puissent sembler complexes lorsqu'ils sont exprimés mathématiquement, l'instructeur encourage les téléspectateurs à se concentrer sur les principes de base, comparant l'apprentissage en profondeur à un avion de chasse hautement spécialisé par rapport à un avion plus simple.

  • 01:45:00 Dans cette section de la vidéo, l'instructeur explique la structure de base et la fonction des neurones dans un réseau de neurones. Les dendrites des neurones agissent comme des palpeurs et captent l'activité électrique, qui est ensuite accumulée dans le soma et envoyée à travers l'axone sous forme de signal. La force du signal traversant une synapse, où l'axone d'un neurone touche la dendrite d'un autre, est représentée par la taille d'un cercle, un cercle plus grand indiquant une connexion plus forte. En attribuant des nombres et des pondérations à ces connexions, un réseau neuronal complexe peut être simplifié en un diagramme circulaire où chaque bâton représente un poids. Ce diagramme est utilisé pour représenter des combinaisons d'entrées et de sorties, chaque connexion ayant son propre poids.

  • 01:50:00 Dans cette section, la vidéo explique que les réseaux de neurones fonctionnent en combinant les neurones d'entrée et leurs connexions aux neurones de sortie. Grâce à un exemple simple de pixels d'entrée combinés pour créer une image de sortie, la vidéo montre comment les neurones d'entrée représentent des éléments individuels, tels que des pixels ou des mots, et peuvent être combinés pour représenter des concepts plus complexes. La vidéo traite également du processus d'apprentissage dans les réseaux de neurones, où les poids de connexion initiaux sont attribués de manière aléatoire, puis mis à jour en fonction des modèles d'entrée-sortie observés, permettant au réseau de s'améliorer au fil du temps.

  • 01:55:00 Dans cette section, la vidéo explique comment les réseaux de neurones sont entraînés à l'aide de la descente de gradient avec rétropropagation. Le but est d'ajuster les poids des neurones afin de réduire l'erreur entre la sortie réelle et la sortie attendue. En prenant de petites étapes incrémentielles, les poids sont ajustés jusqu'à ce que l'erreur soit minimisée. Ce processus est répété pour chaque point de données, et s'il y a plusieurs couches, la sortie d'une couche est utilisée comme entrée pour la couche suivante. C'est ce qu'on appelle un réseau de neurones profonds. Plus il y a de couches, plus les caractéristiques qui peuvent être apprises sont complexes, ce qui permet d'identifier des images ou même des phrases en langage naturel.


Partie 3

  • 02:00:00 Dans cette section de la vidéo, l'instructeur explique comment les réseaux de neurones profonds fonctionnent dans différents scénarios. Lors de la formation sur des images de visages ou d'automobiles, le réseau de neurones apprend à reconnaître les composants de base de ces objets tels que les yeux, le nez et les roues. Plus le réseau devient profond, plus la reconnaissance devient complexe, conduisant finalement à des images identifiables telles que des visages, des araignées et des ours en peluche. De plus, les réseaux de neurones profonds peuvent être utilisés pour apprendre et regrouper des artistes musicaux similaires. L'instructeur explique également comment les réseaux de neurones profonds peuvent être associés à l'apprentissage par renforcement pour apprendre à jouer aux jeux Atari mieux que les humains, et comment les robots peuvent apprendre à cuisiner en utilisant des représentations vidéo. Enfin, l'instructeur précise que l'apprentissage en profondeur est bon pour apprendre des modèles, mais ce n'est pas de la magie.

  • 02:05:00 Dans cette section, une définition fonctionnelle de l'intelligence est présentée comme étant capable de faire beaucoup de choses et de bien les faire. Cette définition permet une discussion scientifique sur l'intelligence des machines et nous permet de comparer l'intelligence relative de différents agents. En utilisant l'équation "l'intelligence égale la performance multipliée par la généralité", nous pouvons tracer cela sur une échelle logarithmique pour représenter le niveau humain de performance et de généralité. Les machines peuvent dépasser les performances humaines dans certains domaines en raison de limitations humaines, telles qu'une attention limitée et des biais cognitifs.

  • 02:10:00 Dans cette section, la vidéo explique comment l'intelligence est comparée sur un graphique avec la généralité comme un axe et la performance comme l'autre. Les ordinateurs jouant aux échecs ont été les premiers agents à se produire à un niveau surhumain, avec Deep Blue d'IBM battant Gary Kasparov en 1989. Le programme d'échecs actuel à la pointe de la technologie, Stockfish, a une cote ELO de 3447, ce qui le rend bien meilleur. que n'importe quel joueur humain. Cependant, il convient de noter que Stockfish est spécifiquement programmé pour les échecs et manque de généralité, contrairement aux humains. La vidéo compare Stockfish au jeu de société Go, considéré comme encore plus complexe, et démontre l'importance de la généralité dans l'intelligence.

  • 02:15:00 Dans cette section, la transcription explique comment le jeu de Go, bien qu'il ait exponentiellement plus de configurations de plateau possibles que les échecs, a été battu par le programme AlphaGo, qui a utilisé une technique appelée réseaux de neurones convolutifs pour apprendre les configurations courantes et l'apprentissage par renforcement sur une bibliothèque de jeux humains pour savoir quels mouvements étaient bons. De même, dans le domaine de la classification des images, une base de données appelée ImageNet a été créée où les machines ont pu classer les images mieux que les humains avec un taux d'erreur inférieur à cinq pour cent. Les machines battant régulièrement les humains dans cette tâche, les progrès réalisés en matière d'apprentissage automatique sont impressionnants.

  • 02:20:00 Dans cette section, le conférencier discute des limites des réseaux de neurones convolutifs (CNN) dans la classification des images. Alors que les CNN sont conçus pour trouver des modèles dans des tableaux de données bidimensionnels, tels que des pixels sur un échiquier, il a été démontré qu'ils se cassent facilement en dehors de l'ensemble d'images sur lesquelles ils sont entraînés. La fragilité des CNN est démontrée lorsque les images sont déformées, qu'un seul pixel est modifié ou que des autocollants sont ajoutés pour tromper le CNN afin qu'il classe mal l'image. Le conférencier explique que la généralité de la classification des images n'est pas là où nous voudrions qu'elle soit, même si elle fonctionne mieux que les humains sur l'ensemble de données ImageNet. La conférence mentionne également que l'algorithme d'apprentissage q profond de DeepMind a impressionné le monde en atteignant le niveau d'expert humain dans 29 des 49 jeux Atari classiques.

  • 02:25:00 Dans cette section, l'instructeur explique comment les réseaux de neurones profonds fonctionnent pour jouer à des jeux vidéo et traduire des langues. Après avoir utilisé des réseaux de neurones convolutifs pour apprendre des modèles de pixels pour jouer à des jeux vidéo à l'aide de l'apprentissage par renforcement, l'algorithme n'a pas été en mesure d'égaler les performances humaines sur 20 jeux qui nécessitaient une planification à plus long terme. Cela suggère que l'algorithme n'a pas anticipé plusieurs étapes pour établir les connexions requises. D'autre part, la traduction linguistique utilise la mémoire longue à court terme (LSTM) pour traduire plus de 100 langues en une seule représentation intermédiaire. Cependant, il convient de noter que la traduction présente des limites de précision et des problèmes d'efficacité en raison des nombreux calculs impliqués. Par conséquent, bien que la traduction automatique ait une portée, elle est en deçà de la performance humaine.

  • 02:30:00 Dans cette section, l'orateur discute de la performance des recommandataires et note qu'ils sont relativement corrects par rapport aux humains. Cependant, leurs performances ne sont pas parfaites, car l'algorithme ne s'adapte pas au fait que les préférences d'une personne peuvent changer, et ils ne tiennent pas compte de la manière dont les différents produits sont liés. En termes de généralité, la connaissance du monde requise pour que les recommandataires fonctionnent bien est assez profonde, ce qui les rend performants. Passant aux robots, le conférencier note que les voitures autonomes ont des performances impressionnantes puisque leurs taux d'accidents sont inférieurs à ceux des humains, bien que leur tâche soit plus compliquée. Cependant, les voitures autonomes sont moins générales qu'il n'y paraît, la plus grosse astuce étant de réduire la difficulté de la tâche, ce qui réduit la nécessaire généralité de la solution.

  • 02:35:00 Dans cette section, l'orateur explique que les voitures autonomes ne sont pas aussi générales qu'elles le paraissent car elles sont conçues sur mesure en fonction d'un ensemble spécifique de capteurs, d'une sélection d'algorithmes et de conditions environnementales. Le défi pour les voitures autonomes est d'englober toutes les conditions à partir desquelles elles fonctionneront. À l'heure actuelle, les voitures autonomes ont des performances inférieures à celles des conducteurs humains, principalement en raison de leur interaction physique et de leur interaction avec d'autres voitures et personnes. Ensuite, l'orateur discute des robots humanoïdes et de la façon dont la plupart des activités sont codées en dur et assez fragiles. Bien que leur application générale augmente avec la complexité des systèmes, les performances restent encore ridiculement faibles par rapport à un agent humain. La généralité par rapport à la tendance des performances est discutée en détail, ce qui conduit au point de vue de l'orateur concernant la capacité du programme AlphaZero comme on le voit dans DeepMind.

  • 02:40:00 Dans cette section, la vidéo explique comment AlphaZero, un programme d'IA, a pu battre certains des meilleurs jeux de société au monde sans être nourri de règles. AlphaZero a été conçu pour apprendre les schémas visuels d'un jeu par essais et erreurs. Deux bébés AlphaZero ont été créés qui jouaient l'un contre l'autre, mais un seul était autorisé à apprendre et l'autre non. Celui qui a appris a réussi à évoluer et à devenir un joueur intermédiaire après avoir joué et s'être cloné avec l'un apprenant et l'autre non. Cette approche a permis à AlphaZero de battre les humains en seulement quatre heures et de battre le meilleur ordinateur précédent après huit heures. Le jeu d'IA a également continué et a battu le meilleur programme de jeu d'échecs et le meilleur programme de jeu de shogi, montrant ainsi l'augmentation significative d'AlphaZero en termes d'intelligence, de généralité et de performances. La vidéo montre également comment les hypothèses limitent la généralité et permettent les performances des systèmes d'IA.

  • 02:45:00 Dans cette section, l'orateur explique certaines hypothèses courantes formulées par les algorithmes utilisés dans l'intelligence artificielle, y compris les réseaux de neurones convolutifs, et pourquoi ces hypothèses sont insuffisantes pour atteindre une intelligence au niveau humain. Les hypothèses incluent la stationnarité, l'indépendance, l'ergodicité et les effets des actions devenant apparents rapidement. Bien que ces hypothèses fonctionnent bien pour analyser des tableaux bidimensionnels d'informations ou de données qui ne changent pas beaucoup, elles ne tiennent pas dans les interactions physiques avec le monde, ce qui les rend inadaptées à la robotique humanoïde ou à tout robot physiquement interactif. Le conférencier propose de se concentrer sur l'interaction physique pour créer des algorithmes pouvant s'adapter à un ensemble plus général de tâches et nous rapprocher un peu plus de l'intelligence au niveau humain. La section présente également les réseaux de neurones convolutifs et leur capacité à apprendre les éléments constitutifs des images.

  • 02:50:00 Dans cette section, l'instructeur fournit un exemple de réseau neuronal convolutif qui peut classer si une image est d'un X ou d'un O, qui prend en compte différentes tailles, rotations et poids des images. Pour identifier des caractéristiques spécifiques de l'image, le réseau associe des éléments de l'image à certaines caractéristiques et les décale jusqu'à ce que l'image globale soit considérée comme une bonne correspondance. Le processus implique le filtrage, où la caractéristique est alignée avec l'image, multipliée pixel par pixel, puis divisée par le nombre total de pixels. Cette méthode permet au réseau de reconnaître des modèles d'images et de faire des prédictions précises.

  • 02:55:00 Dans cette section, l'instructeur explique comment la convolution fonctionne dans les réseaux de neurones convolutionnels. La convolution prend une fonctionnalité et vérifie chaque patch possible sur une image pour voir dans quelle mesure elle correspond. Des comparaisons peuvent être effectuées sur chaque emplacement de l'image, ce qui donne une carte d'image filtrée de l'endroit où l'entité correspond à l'image. L'instructeur décrit comment le regroupement réduit les images filtrées à des versions plus petites de l'image d'origine. Dans cette étape, une fenêtre de pixels est sélectionnée et des valeurs maximisées sont choisies, ce qui donne une image plus petite qui conserve toujours le signal d'origine. Enfin, la normalisation est nécessaire pour éviter les nombres négatifs et maintenir des valeurs gérables dans le réseau.


Partie 4

  • 03:00:00 Dans cette section de la vidéo, l'instructeur explique le processus de progression du réseau neuronal convolutif à travers les couches suivantes, en commençant par la fonction d'unité linéaire rectifiée qui convertit tout ce qui est négatif en zéro. Comme la sortie d'une couche ressemble à l'entrée de la couche suivante, la sortie finale est une pile d'images qui a été transformée par des couches de convolution, de rectification et de mise en commun, ce qui produit une pile d'images filtrées sans valeurs négatives qui a été de taille réduite. De plus, l'instructeur déclare que les valeurs de pixel finales qui ont tendance à être fortes lorsque la bonne réponse est x ou o donnent un vote fort pour les catégories x ou o, respectivement, et le total des votes pondérés est utilisé pour classer l'entrée comme une x ou o par une couche entièrement connectée qui prend une liste de valeurs de caractéristiques et devient une liste de votes pour chaque catégorie de sortie.

  • 03:05:00 Dans cette section, le conférencier explique comment les réseaux de neurones sont utilisés pour catégoriser les images. Les images sont décomposées en leurs pixels composants, qui sont ensuite transformés en une liste de valeurs de luminosité. Chaque valeur correspond à un niveau de luminosité différent, allant de -1 pour le noir à +1 pour le blanc. Cette liste de valeurs de luminosité est utilisée pour construire un neurone, qui prend l'entrée de quatre des pixels et effectue une somme pondérée. Le neurone applique alors une fonction "squashing" pour s'assurer que le résultat est compris entre -1 et +1. Ce processus d'utilisation des neurones pour catégoriser les images peut être répété plusieurs fois pour créer une couche, qui s'inspire vaguement des couches biologiques trouvées dans le cortex humain.

  • 03:10:00 Dans cette section, l'instructeur explique comment les champs récepteurs dans les réseaux de neurones deviennent plus complexes dans les couches supérieures. En connectant la couche d'entrée à plusieurs couches cachées de neurones, chaque neurone combine les entrées de la couche précédente avec des poids spécifiques. Lorsqu'une unité linéaire rectifiée est utilisée à la place d'une somme pondérée, le neurone renvoie la valeur d'origine si elle est positive et 0 si elle est négative. Grâce à ce processus, le réseau apprend à reconnaître les modèles qui ressemblent aux sorties souhaitées, ce qui aboutit à une couche de sortie finale qui classe l'entrée. L'instructeur utilise un exemple d'image avec une barre horizontale pour montrer comment le réseau traite l'image à travers chaque couche.

  • 03:15:00 Dans cette section, la vidéo explique le processus d'optimisation et comment les modèles de réseaux neuronaux profonds apprennent en s'adaptant grâce à l'optimisation des pondérations et des filtres. Le processus d'optimisation est illustré par un exemple d'optimisation de la température du thé pour maximiser le plaisir. Le processus consiste à trouver le point minimum de la fonction mathématique, ce qui peut être fait par descente de gradient, un processus consistant à effectuer des itérations et à ajuster légèrement l'entrée jusqu'à atteindre la valeur minimale. La vidéo note également que les poids et les filtres sont appris à travers un tas d'exemples au fil du temps, et c'est ce qu'est l'apprentissage automatique.

  • 03:20:00 Dans cette section, l'orateur discute d'autres méthodes pour optimiser les modèles en plus de la descente de gradient. Une méthode populaire consiste à utiliser la courbure pour trouver les paramètres optimaux en faisant du thé à des températures variables et en observant la pente de la courbe. Cependant, cette méthode peut échouer si la courbe ne se comporte pas bien et les gradients peuvent rester bloqués dans les minima locaux. Pour éviter de rester bloqué dans les minima locaux, d'autres méthodes telles que les algorithmes génétiques et le recuit simulé peuvent être utilisées, qui sont plus efficaces pour l'échantillonnage que l'exploration exhaustive, mais pas aussi rapides que la descente de gradient. L'orateur compare ces méthodes à différents types de véhicules, la descente en gradient étant une voiture de course de formule 1, les algorithmes génétiques et le recuit simulé étant une camionnette à quatre roues motrices, et l'exploration exhaustive ressemblant à un voyage à pied.

  • 03:25:00 Dans cette section, l'orateur donne un exemple d'utilisation de l'optimisation numérique pour répondre à une question d'une manière moins erronée. L'exemple implique de deviner le nombre de M&Ms dans un sac, et l'orateur explique comment convertir la supposition en une fonction de coût en utilisant une mesure d'écart, qui peut être mise au carré pour pénaliser plus sévèrement les suppositions plus éloignées. La fonction de perte calcule à quel point l'estimation est erronée lorsqu'une mesure d'écart est au carré, et elle peut aider à explorer de manière exhaustive l'estimation dans une plage et à trouver visuellement la valeur la plus basse. Alternativement, une pente par rapport aux suppositions peut être trouvée en prenant la dérivée de la fonction de perte, en la fixant à 0 et en résolvant l'équation.

  • 03:30:00 Dans cette section, le conférencier discute de l'optimisation et de la façon dont elle est utilisée dans les réseaux de neurones pour trouver les meilleurs poids et caractéristiques. La descente de gradient est utilisée pour ajuster tous les poids de chaque couche afin de réduire l'erreur. Cependant, le calcul de la pente nécessite de nombreux passages dans le réseau pour déterminer la direction descendante. La rétropropagation est ensuite introduite comme un moyen de trouver une solution analytique au problème de pente, permettant un processus d'optimisation plus efficace. L'orateur explique également l'utilisation d'une fonction de coût, en particulier l'écart au carré, qui permet de calculer la somme des écarts, conduisant à trouver la meilleure estimation.

  • 03:35:00 Dans cette section, l'instructeur explique comment le calcul de la pente ou de la dérivée de la fonction d'erreur peut aider à ajuster les pondérations d'un réseau de neurones. Il donne l'exemple d'un réseau neuronal simple avec une entrée, une sortie et une couche cachée avec un neurone, montrant comment la pente de la fonction d'erreur peut être trouvée avec un calcul simple. Le processus de décomposition des changements de poids et des erreurs pour trouver la pente est appelé chaînage, ce qui permet d'ajuster les poids trouvés plus profondément dans le réseau neuronal. Ce processus est appelé rétropropagation, où les valeurs à la fin du réseau doivent être utilisées pour calculer les dérivées des poids pour la propagation des erreurs à travers les profondeurs du réseau.

  • 03:40:00 Dans cette section de la vidéo, l'instructeur explique l'étape de rétropropagation dans l'entraînement des réseaux de neurones. Il souligne l'importance que chaque élément d'un réseau de neurones reste différentiable afin que la règle de la chaîne puisse être utilisée pour calculer le lien dans la chaîne lors de la recherche de dérivés. L'instructeur montre comment la règle de chaîne peut être utilisée pour une couche entièrement connectée et explique également comment elle peut être appliquée aux couches convolutionnelles et de regroupement. Le processus d'ajustement des poids dans un réseau de neurones sur des milliers d'itérations répétitives pour obtenir des réponses efficaces est également discuté.

  • 03:45:00 Dans cette section, l'instructeur explique comment optimiser les hyperparamètres d'un réseau de neurones convolutionnels (CNN). Ces paramètres, tels que le nombre, la taille et la foulée des caractéristiques, les fenêtres de regroupement et le nombre de neurones cachés, sont au niveau supérieur et contrôlent comment tout se passe en dessous. L'instructeur souligne qu'il y a des recettes sur lesquelles les chercheurs sont tombés qui semblent bien fonctionner, mais il y a beaucoup de combinaisons de ces hyperparamètres qui n'ont pas encore été essayées, ce qui signifie qu'il y a toujours la possibilité que certaines combinaisons fonctionnent beaucoup mieux. que ce qui a été vu jusqu'à présent. De plus, il est à noter que les CNN ne sont pas seulement utiles pour les images, mais aussi pour toutes les données bidimensionnelles ou tridimensionnelles où les choses qui sont plus proches les unes des autres sont plus étroitement liées que les choses éloignées. Cependant, les capacités de reconnaissance de formes des CNN sont limitées aux modèles spatiaux uniquement et sont donc moins utiles dans les situations où l'organisation spatiale des données n'est pas importante.

  • 03:50:00 Dans cette section, l'orateur explique que bien que créer ses propres réseaux de neurones convolutifs à partir de zéro soit un excellent exercice, il existe déjà de nombreux outils matures disponibles. Le point à retenir de cette section est que lorsque vous travaillez avec des réseaux de neurones, il est important de prendre de nombreuses décisions subtiles sur la façon de préparer les données, d'interpréter les résultats et de choisir les hyperparamètres. Comprendre ce qui est fait avec les données et leur signification aidera à tirer le meilleur parti des outils disponibles.
 

Cours d'apprentissage automatique pour débutants (parties 1 à 5)


Cours d'apprentissage automatique pour débutants


Partie 1

  • 00:00:00 Dans cette section, Ayush, un scientifique des données et ingénieur en apprentissage automatique, présente son cours d'apprentissage automatique qui couvre à la fois les aspects théoriques et pratiques des algorithmes d'apprentissage automatique et des projets d'IA du monde réel. Ayush décrit son parcours, y compris son expérience de travail sur diverses applications d'IA telles que la vision par ordinateur et le traitement du langage naturel, et sa chaîne YouTube où il propose des cours de bout en bout sur l'apprentissage automatique et l'apprentissage en profondeur. Il explique le programme du cours, qui commence par les bases de l'apprentissage automatique et progresse vers la compréhension d'algorithmes tels que la régression linéaire, la régression logistique, l'analyse en composantes principales et l'apprentissage non supervisé. Ayush souligne l'importance de comprendre le surajustement et le sous-ajustement avant de conclure la section.

  • 00:05:00 Dans cette section, l'instructeur fournit une explication simple de ce qu'est l'apprentissage automatique. Essentiellement, cela implique l'utilisation d'algorithmes pour analyser les données et faire des prédictions intelligentes basées sur ces données sans programmation explicite. L'objectif est de créer une fonction qui mappe les variables d'entrée aux variables de sortie, telles que la prédiction du prix d'une maison en fonction de sa taille, du nombre de chambres, etc. L'instructeur fournit également une définition plus formelle de l'apprentissage automatique, qui implique un ordinateur programme améliorant ses performances sur une tâche avec de l'expérience. Dans l'ensemble, l'instructeur insiste sur l'importance de comprendre comment créer ces fonctions afin d'utiliser avec succès l'apprentissage automatique.

  • 00: 10: 00 Dans cette section de la vidéo, l'instructeur discute de diverses applications de l'apprentissage automatique, telles que les voitures autonomes, la prévision du cours des actions et le diagnostic médical. Il explique également le flux de travail de base du fonctionnement de l'apprentissage automatique, en commençant par l'étude d'un problème et l'analyse des données, puis en formant l'algorithme et en évaluant ses performances. L'instructeur donne également un aperçu des principaux types de systèmes d'apprentissage automatique, y compris l'apprentissage supervisé, non supervisé et par renforcement. Il donne un exemple d'apprentissage supervisé utilisant la prévision du prix des maisons, où la taille de la maison est utilisée comme caractéristique pour prédire le prix de la maison.

  • 00:15:00 Dans cette section, le conférencier aborde l'apprentissage supervisé et ses deux types de problèmes : la régression et la classification. L'orateur fournit également des exemples, tels que la prévision du prix des logements pour la régression et la classification d'images pour la classification. L'orateur explique que l'apprentissage supervisé implique des données étiquetées, où la variable de sortie est connue, et il existe une relation entre les variables d'entrée et de sortie. L'orateur mentionne également brièvement l'apprentissage non supervisé, où les données ne sont pas étiquetées et le modèle doit reconnaître des modèles en fonction des données disponibles.

  • 00:20:00 Dans cette section, l'orateur discute de la différence entre les problèmes de classification et de régression dans l'apprentissage automatique. Si la sortie d'un problème est en valeur continue, il est considéré comme un problème de régression. Si la sortie est en degrés, il s'agit d'un problème de classification. L'importance de diviser les données en ensembles de formation et de test est soulignée, avec 80 % utilisés pour la formation et 20 % pour tester le modèle. L'orateur explique également les problèmes de sur-ajustement et de sous-ajustement, où les modèles fonctionnent mal sur les données de formation et de test ou fonctionnent bien en formation mais échouent aux tests. La section se termine par quelques notations qui seront utilisées tout au long du cours.

  • 00:25:00 Dans cette section, l'instructeur discute de l'apprentissage supervisé et non supervisé dans l'apprentissage automatique. Dans l'apprentissage supervisé, une fonction f (x) est créée qui mappe les variables d'entrée aux variables de sortie, en utilisant à la fois les données d'entrée et de sortie pour faire des prédictions. L'instructeur donne un exemple d'ensemble de données qui utilise des caractéristiques telles que les perspectives, la température, l'humidité et le vent pour prédire si un joueur jouera ou non au tennis, la variable cible étant s'il jouera ou non. Les entités en entrée sont indépendantes, tandis que la variable cible dépend de ces entités. Dans l'ensemble, l'apprentissage supervisé implique un ensemble de données étiqueté où il existe une relation entre les données d'entrée et de sortie.

  • 00:30:00 Dans cette section, l'instructeur explique la différence entre les caractéristiques indépendantes et dépendantes dans l'apprentissage supervisé, ainsi que la différence entre la régression et la classification. Par exemple, prédire les cours des actions ou les prix des maisons serait une régression, tandis qu'identifier si une personne est atteinte de diabète serait une classification. L'instructeur présente ensuite l'apprentissage non supervisé et explique qu'il implique uniquement un ensemble de fonctionnalités indépendantes sans aucune fonctionnalité dépendante. Un exemple de ceci est la segmentation du marché sans connaître les étiquettes des données. L'instructeur note que la section suivante couvrira plus en profondeur l'apprentissage non supervisé.

  • 00:35:00 Dans cette section, nous découvrons la régression linéaire, un type d'algorithme d'apprentissage supervisé utilisé lorsque les données de sortie sont continues. L'objectif est de créer une fonction qui mappe la variable d'entrée à la variable de sortie. La régression linéaire consiste à ajuster une ligne droite à des données dispersées pour faire des prédictions, par exemple, prédire le prix d'une maison en fonction de sa taille. La ligne représente une hypothèse, et plus elle est proche des données, meilleures sont les prédictions. Cette section donne un aperçu de la régression linéaire et prépare les apprenants pour la section suivante sur les algorithmes d'apprentissage et un projet sur la prédiction des sources chaudes de Boston.

  • 00:40:00 Dans cette section, l'instructeur explique le fonctionnement de la fonction d'hypothèse dans la régression linéaire. L'hypothèse est construite en utilisant le poids de chaque caractéristique, représenté par thêta. Le terme de biais, x0, détermine l'ordonnée à l'origine ou l'endroit où la ligne croisera l'axe des y. Les pondérations des caractéristiques sont apprises par la machine et les meilleures pondérations produisent la meilleure prédiction. L'instructeur insiste sur le fait que l'apprentissage automatique est basé sur des paramètres d'apprentissage, en particulier le poids des fonctionnalités. La fonction d'hypothèse mappe les variables d'entrée à une variable de sortie, qui peut être utilisée pour la prédiction.

  • 00:45:00 Dans cette section, l'instructeur explique la fonction d'hypothèse pour la régression linéaire à l'aide des poids des caractéristiques et du terme de biais, et comment elle peut être exprimée sous une forme vectorisée. Il a montré qu'en Python, il peut être écrit en une seule ligne de code. Il présente ensuite la fonction de coût utilisée pour évaluer la performance du modèle et comment elle est utilisée pour calculer la distance entre les points de données réels et prédits. Un nuage de points est utilisé comme exemple pour illustrer le concept de la fonction de coût.

  • 00:50:00 Dans cette section de la vidéo, l'orateur explique le concept de fonction de coût dans l'apprentissage automatique. La fonction de coût consiste à calculer la différence entre les valeurs prévues et réelles pour tous les points de données, appelés résidus. En prenant la distance entre les valeurs prédites et réelles et en les mettant au carré, une fonction de coût est produite. L'objectif est de minimiser la fonction de coût, qui détermine l'efficacité du modèle. Le conférencier présente également l'algorithme de descente de gradient comme méthode d'optimisation pour trouver le meilleur thêta, qui fournira le modèle optimal.

  • 00:55:00 Dans cette section, l'instructeur explique le concept de descente de gradient, une méthode utilisée pour minimiser la fonction de coût dans l'apprentissage automatique. L'instructeur utilise une analogie simple pour démontrer comment la descente de gradient modifie la valeur de thêta pour minimiser la fonction de coût. Ensuite, l'instructeur explique la dérivation mathématique de ce processus, en prenant des dérivées partielles pour mettre à jour la valeur thêta. Enfin, l'instructeur présente l'algorithme de descente de gradient, décrivant les étapes de mise à jour de thêta à l'aide du taux d'apprentissage et des dérivées partielles de la fonction de coût. L'instructeur explique également comment régler le taux d'apprentissage et les avantages de la vectorisation du processus.

Partie 2

  • 01:00:00 Dans cette section, l'instructeur explique comment vectoriser la dérivée partielle de thêta en régression linéaire. Au lieu de prendre la dérivée partielle de thêta zéro et thêta un séparément, vous pouvez la mettre dans un vecteur thêta commun et retirer la dérivée partielle de tout ce que vous voulez calculer. Avec cette vectorisation, vous pouvez écrire l'équation dérivée sous une forme vectorisée, qui peut être utilisée pour la puissance de calcul. L'instructeur met également en évidence l'équation normale, qui vous donne un thêta optimal en une seule équation. Ils expliquent les hypothèses de régression linéaire et la différence entre les caractéristiques indépendantes et dépendantes. Enfin, ils mentionnent d'autres algorithmes d'optimisation pouvant être utilisés à des niveaux avancés, tels que la descente de gradient stochastique, l'algorithme d'optimisation d'Adam et RMS Prop.

  • 01:05:00 Dans cette section, l'instructeur explique brièvement le concept de régression polynomiale et comment il peut être utilisé pour transformer des données non linéaires en une forme linéaire pouvant être adaptée à la régression linéaire. L'instructeur mentionne également les sujets à venir dans le cours, y compris les tâches de régression logistique et de classification. La différence entre la régression linéaire et la régression logistique est expliquée, et l'hypothèse de la régression logistique est présentée comme similaire à celle de la régression linéaire, mais utilisée pour classer les données.

  • 01:10:00 Dans cette section de la vidéo, l'instructeur explique l'hypothèse de la régression logistique, qui inclut une fonction sigmoïde pour obtenir la sortie entre 0 et 1. La sortie est ensuite comparée à un seuil (0,5 ou 0,7) pour prédire si l'image est un chat ou non. La fonction de coût ou de perte est également expliquée comme un moyen d'évaluer la précision du modèle. L'instructeur fournit la formule de la fonction de coût pour un exemple de formation.

  • 01:15:00 Dans cette section, l'orateur discute de la fonction de coût de perte logarithmique et de sa formule en apprentissage automatique. La formule prend la valeur de vérité terrain et la valeur prédite par le modèle et calcule le logarithme de cette dernière, multiplié par la valeur de vérité terrain (y_i). L'orateur explique que si les deux valeurs sont identiques, le coût sera approximativement nul, et si elles sont différentes, le coût sera très élevé. L'auteur aborde ensuite l'algorithme de descente de gradient, qui utilise la fonction de coût pour ajuster les paramètres, et met à jour la valeur thêta pour se rapprocher de l'optimum global. La dérivée partielle de la fonction de coût est utilisée pour mettre à jour la valeur thêta.

  • 01:20:00 Dans cette section, l'orateur discute de la vectorisation dans l'apprentissage automatique et fournit un code vectorisé pour la fonction de coût et la descente de gradient dans la régression logistique. Ils expliquent que la vectorisation consiste à faire tous les calculs en même temps pour gagner du temps. L'orateur souligne l'importance de comprendre la régression logistique en tant qu'algorithme de classification, y compris l'hypothèse, la fonction de coût et la descente de gradient pour trouver le meilleur thêta optimal. Ils mentionnent également que la prochaine section couvrira la détection du cancer du sein et les machines à vecteurs de soutien. L'orateur encourage le public à suivre son cahier Jupyter, qui comprend le chargement des données, l'ingénierie des fonctionnalités, la visualisation des données et la sélection des fonctionnalités.

  • 01:25:00 Dans cette section, l'instructeur présente les bibliothèques Python qui seront utilisées dans le projet, notamment numpy, pandas, plotly, seaborn et matplotlib. Le projet consiste à prédire les prix des maisons à Boston à l'aide de l'apprentissage automatique, et les données sont chargées à partir de la bibliothèque scikit-learn. La variable cible est y, qui est le prix de vente, tandis que x est les caractéristiques indépendantes utilisées pour prédire le modèle. Les données sont ensuite converties en un bloc de données et l'instructeur montre comment accéder aux informations sur les données, y compris le nombre de lignes et de colonnes, les valeurs non nulles et les types de données à l'aide de diverses fonctions pandas. La fonction de description est également utilisée pour afficher la moyenne, l'écart type, le minimum, le maximum et les centiles de chaque colonne.

  • 01:30:00 Dans cette section de la vidéo, le présentateur discute des techniques d'analyse de données pour mieux comprendre un problème d'apprentissage supervisé impliquant une variable cible, un prix de vente et des variables de caractéristiques. Ils montrent comment utiliser les outils de visualisation tels que les diagrammes de distribution, les diagrammes de paires et les diagrammes qq. Ils expliquent également comment identifier et traiter les valeurs aberrantes, calculer l'asymétrie et appliquer des transformations aux données. De plus, ils introduisent le concept de corrélation entre les caractéristiques et comment il peut être utilisé pour sélectionner des caractéristiques hautement corrélées pour le problème.

  • 01:35:00 Dans cette section de la vidéo, l'instructeur couvre la construction de modèles et la vérification de la précision à l'aide de la régression linéaire. L'accent est mis sur l'évitement du surajustement, c'est-à-dire lorsqu'un modèle apprend trop des données d'entraînement et fonctionne mal sur les nouvelles données. L'instructeur explique comment la régularisation peut réduire le surajustement en réduisant les fonctionnalités ou en appliquant une pénalité à la complexité du modèle. La section suivante couvrira les modèles linéaires régularisés, y compris la régression Lasso et Ridge. L'instructeur encourage les téléspectateurs à rechercher en ligne des solutions lorsqu'ils rencontrent des problèmes et propose un référentiel Github pour d'autres projets.

  • 01:40:00 Dans cette section, l'orateur discute des techniques de régularisation dans l'apprentissage automatique, en particulier la régression ridge et lasso. La régression de crête pénalise les poids des caractéristiques des caractéristiques moins importantes, les rapprochant de plus en plus de zéro. La régression au lasso va encore plus loin et élimine les caractéristiques moins importantes en rendant les poids des paramètres égaux à zéro. Le terme de régularisation est ajouté à la fin de la fonction de coût, avec une régression ridge utilisant la norme L2 et une régression lasso utilisant la norme L1. L'orateur souligne également que le thêta zéro, qui est le terme de biais, ne doit pas être pénalisé.

  • 01:45:00 Dans cette section, l'instructeur introduit le sujet de la régularisation, qui est considéré comme l'un des sujets les plus importants de l'apprentissage automatique. L'instructeur explique que la régularisation aide à réduire le surajustement, qui se produit lorsqu'un modèle fonctionne très bien sur l'ensemble d'entraînement mais ne se généralise pas bien sur l'ensemble de test. L'idée principale derrière la régularisation est d'éliminer les caractéristiques qui sont moins importantes ou contiennent moins d'informations en rendant leurs hyperparamètres ou thêtas respectifs égaux à zéro. L'instructeur utilise l'exemple de la prévision du prix de l'immobilier pour montrer comment la régularisation peut aider à éliminer les fonctionnalités moins utiles.

  • 01:50:00 Dans cette section de la vidéo, l'instructeur explique le concept de pondération des caractéristiques et d'apprentissage dans l'apprentissage automatique. À l'aide d'un exemple de prévision du prix de l'immobilier, l'instructeur montre comment différentes caractéristiques telles que la taille de la maison, le nombre de ventilateurs, le nombre de chambres et les climatiseurs peuvent se voir attribuer différents poids qui peuvent être appris et optimisés au fil du temps. Les pondérations peuvent être ajustées en ajustant les paramètres par rapport à la dérivée partielle de la fonction de coût, et cela peut être amélioré grâce à des techniques de régularisation telles que la régression de crête.

  • 01:55:00 Dans cette section, la vidéo traite de la régularisation dans l'apprentissage automatique, en particulier de la régression ridge et lasso. Les deux types de régression pénalisent la valeur thêta, mais la régression ridge utilise la norme L2 tandis que la régression lasso utilise la norme L1. Le terme alpha contrôle la rigueur du modèle sur les caractéristiques, les valeurs élevées le rendant plus strict. Les deux types ne pénalisent pas le terme de biais thêta 0, et la norme L1 dans la régression au lasso aide à rapprocher les poids des caractéristiques les moins importantes de zéro, ce qui rend le modèle moins sujet au surajustement.

Partie 3

  • 02:00:00 Dans cette section, la vidéo explique les normes l1 et l2 de régularisation et leurs cas d'utilisation spécifiques. La norme L1 est très stricte car elle rend directement toute caractéristique sans importance thêta nulle tandis que L2 est plus flexible. La vidéo mentionne ensuite brièvement le filet élastique, une combinaison des deux normes. À l'avenir, la vidéo présente en détail la machine à vecteurs de support (SVM), qui est un algorithme d'apprentissage supervisé utilisé à la fois pour les tâches de classification et de régression. SVM construit un hyperplan avec des marges parallèles pour maximiser la marge tout en classant les nouveaux points comme chat ou non-chat dans un système de reconnaissance chat et non-chat. La vidéo décrit également les sujets qui seront abordés dans les sections à venir concernant SVM.

  • 02:05:00 Dans cette section, l'instructeur explique la machine à vecteurs de support (SVM) et comment elle construit deux hyperplans parallèles pour séparer les points de données avec une marge maximale. SVM vise à maximiser cette marge tout en gardant le point de données le plus proche loin de l'hyperplan. Les points de données les plus proches sont appelés vecteurs de support, qui prennent en charge les hyperplans parallèles pour séparer les données. L'instructeur fournit un exemple d'utilisation de SVM pour la détection du cancer et explique la différence entre la classification des marges dures et des marges souples. La classification des marges dures ne permet à aucun point de données de violer la marge, ce qui peut entraîner un surajustement, tandis que la classification des marges souples permet certaines violations pour empêcher le surajustement.

  • 02:10:00 Dans cette section, le concept de marge rigide et de marge souple dans les SVM a été introduit. La marge dure ne permet à aucun point de données d'entrer dans la marge, tandis que la marge souple permet à certains points de données de violer la marge pour éviter le surajustement. La largeur de la marge est ajustée par le paramètre c, où un c très grand rend la marge très petite et ac de 1 rend la marge très grande. La construction de l'hyperplan dans SVM a également été discutée, qui est définie par l'équation w transpose x moins b est égal à z, où w est le vecteur de paramètre de poids et b est le terme de biais. Des contraintes pour les prédictions de marge ferme ont été définies, où tout ce qui se trouve sur ou au-dessus de la marge est considéré comme un et tout ce qui est en dessous est considéré comme zéro.

  • 02:15:00 Dans cette section, la vidéo explique le fonctionnement des machines à vecteurs de support (SVM) et fournit une explication mathématique de SVM. La marge de l'hyperplan s'écrit 2 sur la norme de w, et pour maximiser cette marge, nous devons minimiser la norme de w. SVM cherche à maximiser la marge pour faire des prédictions. La vidéo explique que nous pouvons écrire une fonction objective exprimée comme la distance entre deux hyperplans, qui est égale à deux sur la norme de w, sous réserve que l'étiquette réelle des données soit supérieure ou égale à 1. La vidéo aborde également un fonction de perte, écrite comme perte charnière ou marge souple, et explique comment cela fonctionne pour obtenir de bonnes prédictions de manière simple. Le concept de SVM linéaire est également abordé avant une discussion sur la classification non linéaire.

  • 02:20:00 Dans cette section, la vidéo traite du concept de classification non linéaire et de l'astuce du noyau qui peut aider à obtenir une spécification non linéaire. L'astuce du noyau transforme les données d'un espace unidimensionnel en un espace de dimension supérieure en mappant les données d'entrée à la fonction phi de x. La fonction de noyau RBF est l'un des noyaux célèbres qui transforme les données en espace de grande dimension. La vidéo parle également du problème primal qui aide à formaliser la fonction objectif en introduisant une nouvelle variable appelée zeta. La variable zêta est introduite pour chaque membre i de un à tous l'arrondi à n.

  • 02:25:00 Dans cette section, le conférencier présente le concept de perte de charnière et comment il peut être utilisé pour formuler une fonction de coût pour les problèmes d'apprentissage automatique. Ils expliquent comment utiliser la descente de sous-gradient pour mettre à jour les paramètres de la fonction de coût et comment fonctionne le problème primal, soulignant qu'il s'agit d'une approche conviviale pour les débutants en apprentissage automatique. L'orateur discute également de la minimisation empirique des risques et de la régression des vecteurs de support, en fournissant des équations pour ces concepts. Ils encouragent les téléspectateurs à commenter s'ils ont des questions et terminent en mentionnant que la section suivante se concentrera sur la création d'un prédicteur du cours des actions en tant que projet d'apprentissage automatique de bout en bout.

  • 02:30:00 Dans cette section, l'orateur montre comment créer un prédicteur du cours des actions à l'aide des bibliothèques Python telles que NumPy, Pandas, Matplotlib, Seaborn et YFinance. Le code télécharge les données de Yahoo Finance et prend une entrée pour saisir le code de l'action à télécharger. Les données sont ajustées avec un ajustement automatique et la forme des données est affichée, révélant un total de 1256 exemples de formation et cinq colonnes. L'orateur explique que c'est le point de départ pour construire un prédicteur du cours des actions.

  • 02:35:00 Dans cette section de la vidéo, le conférencier explore l'exploration et l'analyse des données pour la prévision du cours des actions. L'orateur commence par examiner des statistiques telles que la moyenne, l'écart type, le maximum et le minimum des données. Ils avertissent que la prévision du cours des actions est hautement non linéaire et ne devrait être utilisée qu'à des fins éducatives. L'orateur procède à l'analyse de sa variable cible, "fermée", pour démontrer la non-linéarité et comment on ne peut pas s'y fier pour prédire la sortie avec précision. L'orateur continue ensuite à tracer la distribution de "ouvert" et "fermer" pour avoir une meilleure idée de la façon de procéder avec les données et d'appliquer l'ingénierie des fonctionnalités. Enfin, l'orateur conclut en résumant ses résultats et en décrivant ce qu'il a compris des données.

  • 02:40:00 Dans cette section, l'orateur discute de divers algorithmes d'apprentissage automatique qui ont été couverts dans le cours jusqu'à présent, y compris la régression linéaire, la régression logistique, les modèles linéaires régularisés, les machines à vecteurs de support et l'analyse en composantes principales. L'orateur explique que si la régression linéaire est souvent considérée comme un mauvais algorithme, elle peut être puissante dans certains cas, comme pour prédire les cours boursiers non linéaires. L'importance de diviser les données en ensembles d'apprentissage et de test est soulignée, et l'orateur montre comment utiliser la fonction train_test_split pour y parvenir. L'algorithme de régression linéaire est ensuite instancié et formé sur l'ensemble d'apprentissage, et utilisé pour prédire l'ensemble de test. Les sorties prévues sont affichées et comparées aux sorties réelles de l'ensemble de test.

  • 02:45:00 Dans cette section, l'intervenant parle du calcul de matrices pour évaluer les performances des modèles de régression linéaire. Ils discutent de l'utilisation de l'erreur quadratique moyenne (MSE), de l'erreur quadratique moyenne (RMSE) et du carré R2 pour évaluer l'efficacité du modèle. L'orateur fournit la fonction d'assistance pour calculer ces matrices, et ils l'utilisent pour évaluer les performances de leur modèle de régression linéaire. Ils constatent que le MSE et le RMSE sont presque égaux à zéro, ce qui signifie que le modèle prédit avec précision les valeurs. Le carré R2 est également proche de 1, ce qui indique un bon ajustement du modèle.

  • 02:50:00 Dans cette section, l'orateur discute des modèles linéaires régularisés tels que ridge et lasso, et montre comment ils peuvent être implémentés à l'aide de Scikit-Learn en Python. L'orateur explique que le lasso élimine les caractéristiques les moins importantes, tandis que la crête les pénalise. Le modèle de crête est moins sujet au surajustement, ce qui en fait un meilleur choix pour enregistrer un modèle et créer un site Web, selon l'orateur. L'orateur discute également de la régression des vecteurs de support et montre comment elle peut être affinée à l'aide de CV de recherche de grille pour vérifier différentes valeurs et sélectionner le meilleur modèle.

  • 02:55:00 Dans cette section, la vidéo explique l'utilisation de modèles linéaires régularisés pour l'apprentissage automatique et comment ils sont plus puissants que la méthode utilisée précédemment. Le présentateur passe en revue des exemples d'importation et d'enregistrement d'un modèle à l'aide de joblib et de chargement du modèle enregistré pour une utilisation future. La vidéo aborde également la création d'une application simple à l'aide de Flask et le rendu d'un modèle à partir d'un fichier HTML. Une démonstration est fournie sur la façon de créer un fichier index.html et de le rendre dans une route d'application.

Partie 4

  • 03:00:00 Dans cette section de la vidéo, l'orateur montre comment configurer un serveur et un site Web à l'aide de Flask pour un projet d'apprentissage automatique de bout en bout. Ils expliquent comment utiliser un formulaire pour saisir des données, les prétraiter, faire des prédictions à l'aide d'un modèle chargé et renvoyer la prédiction à un modèle prediction.html dérivé d'un modèle layout.html. L'orateur encourage également les utilisateurs à modifier les caractéristiques des données pour rendre le modèle plus puissant, mais met en garde contre le fait de le rendre trop complexe. Ils concluent en soulignant l'importance de comprendre les limites de la régression linéaire lorsqu'il s'agit de données multi-colinéaires.

  • 03:05:00 Dans cette section de la vidéo YouTube "Machine Learning Course for Beginners", l'instructeur explique comment supprimer la multicolinéarité des données grâce à l'utilisation de l'analyse en composantes principales (ACP). Les variables corrélées peuvent être problématiques dans les modèles d'apprentissage automatique, mais l'ACP est un algorithme de réduction de la dimensionnalité qui peut résoudre efficacement ce problème. Pour se préparer à l'apprentissage de l'ACP, l'instructeur passe brièvement en revue les transformations linéaires et les vecteurs propres/valeurs propres, qui fournissent une base pour comprendre le concept de réduction de la dimensionnalité. L'instructeur recommande une chaîne YouTube pour ceux qui souhaitent approfondir l'algèbre linéaire, mais souligne que ce matériel n'est pas nécessaire pour comprendre l'ACP.

  • 03:10:00 Dans cette section, l'instructeur explique la transformation linéaire, les vecteurs propres, les valeurs propres et leur signification dans l'analyse en composantes principales (ACP). La transformation linéaire est une fonction qui transforme un espace vectoriel en un autre tout en maintenant une structure linéaire dans chaque espace vectoriel. Les vecteurs propres et les valeurs propres représentent un nouveau vecteur transformé et le facteur par lequel il est mis à l'échelle, respectivement. L'instructeur discute également de la nécessité de réduire la dimensionnalité, en particulier dans les grands ensembles de données, et de la manière dont l'ACP est utilisée pour transformer de grands ensembles d'entités en plus petits. Dans l'ensemble, la compréhension de ces concepts est cruciale pour travailler sur des données de texte et d'image dans des scénarios réels.

  • 03:15:00 Dans cette section, l'orateur explique l'intuition de base de l'analyse en composantes principales (ACP), qui consiste à réduire les dimensions d'un ensemble de données tout en préservant le plus d'informations possible. Ils décrivent comment l'ACP construit de nouvelles variables, ou composantes principales, qui sont une combinaison linéaire des variables initiales. Ces composants ne sont pas corrélés et la plupart des informations sont compressées dans les premiers composants. L'intervenant revient également sur la visualisation de la projection des données sur les composantes principales et souligne que l'algorithme doit assurer que les composantes ne sont pas corrélées.

  • 03:20:00 Dans cette section, l'importance du prétraitement des données est discutée en relation avec l'analyse en composantes principales (ACP). La première étape de l'ACP consiste à normaliser les données pour s'assurer qu'elles se situent dans la même plage, ce qui est essentiel car l'ACP est sensible aux valeurs aberrantes. Une fois les données normalisées, la matrice de covariance des données est calculée pour comprendre comment les variables d'entrée varient les unes par rapport aux autres. Les variables hautement corrélées peuvent contenir des informations inutiles et peuvent être supprimées. Enfin, les vecteurs propres et les valeurs propres de la matrice de covariance sont calculés, qui sont des facteurs importants dans la transformation des données dans un espace de dimension inférieure.

  • 03:25:00 Dans cette section, l'instructeur explique le processus de calcul des vecteurs propres et des valeurs propres en Python pour transformer des vecteurs à partir d'un vecteur d'origine et le facteur par lequel il est étiré, appelé valeur propre. Les colonnes de la matrice des vecteurs propres et de la matrice des valeurs propres sont triées par ordre décroissant, et le contenu énergétique cumulé de chaque vecteur propre est calculé. Ensuite, un sous-ensemble de vecteurs propres avec le contenu énergétique le plus élevé est sélectionné comme vecteurs de base. Enfin, les données sont projetées sur la nouvelle base. L'instructeur conclut le didacticiel en décrivant les sujets qui seront abordés dans les sections suivantes, notamment la théorie de l'apprentissage, le compromis entre biais et variance, l'approximation et l'erreur d'estimation.

  • 03:30:00 Dans cette section, l'instructeur discute du concept de minimisation des risques empiriques et de l'importance de comprendre les compromis de biais et de variance dans l'apprentissage automatique. L'instructeur souligne que bien que le biais et la variance semblent être des concepts faciles à comprendre, il est difficile de les maîtriser dans la pratique lors du développement de produits du monde réel. L'instructeur explique également le sous-ajustement, qui se produit lorsqu'un modèle ne fonctionne pas bien sur un ensemble d'entraînement en raison d'une faible quantité de fonctionnalités ou de données. L'instructeur suggère l'ingénierie des fonctionnalités pour générer plus de fonctionnalités et améliorer les performances du modèle.

  • 03:35:00 Dans cette section de la vidéo, les différents types de modèles de régression tels que le sous-ajustement, le bon ajustement et le surajustement sont expliqués. Le surajustement se produit lorsqu'un modèle fonctionne bien sur l'ensemble d'apprentissage mais mal sur l'ensemble de test car le modèle est trop complexe ou comporte trop de fonctionnalités. Il peut être évité en sélectionnant des fonctionnalités importantes ou en utilisant la régularisation. Le compromis biais et variance est également discuté, où un modèle donnant une faible erreur sur l'ensemble d'apprentissage mais une erreur élevée sur l'ensemble de validation indique une variance élevée, et le bagging est utilisé pour la réduire dans les méthodes d'apprentissage d'ensemble.

  • 03:40:00 Dans cette section, l'instructeur explique comment identifier si un modèle a un biais élevé ou une variance élevée. Si le modèle a une variance élevée, l'ensemble d'apprentissage peut avoir un taux d'erreur de 15 % tandis que l'ensemble d'évaluation a un taux d'erreur de 16 %. En revanche, s'il a un biais élevé, il peut avoir un taux d'erreur de 30 % sur l'évaluation. L'instructeur explique également le concept d'erreur d'estimation d'approximation, la différence entre la valeur exacte et l'approximation de celle-ci, qui est la sortie du modèle. Enfin, ils mentionnent l'hypothèse selon laquelle l'erreur de base ou la performance au niveau humain est d'environ zéro pour cent lors de la construction d'un modèle de classification.

  • 03:45:00 Dans cette section, la vidéo présente le concept de minimisation des risques empiriques, qui est un algorithme qui reçoit un échantillon d'ensemble d'apprentissage d'une grande distribution, avec des étiquettes attribuées par une fonction cible. L'objectif est de minimiser l'erreur par rapport à la distribution inconnue, afin que le modèle puisse prédire de nouveaux exemples qu'il n'a même pas vus auparavant avec un minimum d'erreurs. La vidéo souligne que le prédicteur de sortie dépend des pondérations apprises à partir de l'ensemble d'apprentissage, et l'objectif est de minimiser l'erreur ou le risque appelé minimisation du risque empirique. La vidéo invite les téléspectateurs à poser des questions dans la zone de commentaires et à consulter le site Web du cours.

  • 03:50:00 Dans cette section, l'instructeur aborde le concept d'instructions if-else imbriquées dans l'apprentissage automatique, qui est un moyen courant de diviser les données en posant des questions. Ils utilisent l'exemple du jeu de données Iris, qui contient quatre entités et une étiquette indiquant l'espèce de la fleur. La tâche consiste à détecter les espèces de fleurs sur la base de quatre caractéristiques, ce qui en fait un ensemble de données de classification binaire. L'instructeur explique comment créer un classificateur simple à l'aide d'instructions if-else pour diviser les données en fonction des entités et déterminer l'étiquette.

  • 03:55:00 Dans cette section de la vidéo, l'instructeur explique comment créer un arbre de décision simple à l'aide de deux caractéristiques : la longueur des pétales et la longueur des sépales. L'arbre de décision utilise des instructions if-else et des boucles imbriquées pour définir diverses conditions et classer les variables cibles. L'instructeur explique également la terminologie des arbres de décision, tels que les nœuds racine, les nœuds parents et les nœuds enfants.

Partie 5

  • 04:00:00 Dans cette section de la vidéo, l'instructeur explique la terminologie de base des arbres de décision, tels que les nœuds terminaux ou feuilles et les branches. Ils discutent également de la division des données et de l'élagage des nœuds, c'est-à-dire l'élimination de certains nœuds dans l'arborescence. L'instructeur insiste sur l'importance de prendre des notes et de comprendre la terminologie pour une meilleure compréhension des arbres de décision. Ils expliquent ensuite à quoi ressemblent les limites de décision, ou hyperplans, dans les arbres de décision et comment elles sont construites pour chaque résultat. L'instructeur trace les hyperplans en fonction des deux caractéristiques choisies pour l'exemple et montre comment ils sont construits en fonction du résultat.

  • 04:05:00 Dans cette section, l'instructeur explique comment les arbres de décision sont construits à l'aide de mesures de sélection d'attributs telles que l'entropie, le gain d'informations et l'impureté Gini. Ces mesures aident à déterminer quelle fonctionnalité doit être le nœud racine ou comment diviser l'ensemble de données. L'instructeur insiste sur l'importance de choisir la bonne fonctionnalité pour éviter de se retrouver avec un mauvais modèle. L'entropie est définie comme une mesure du caractère aléatoire où plus l'entropie est élevée, plus il est difficile d'en tirer des informations. L'instructeur fournit des exemples et des propriétés d'entropie pour aider à comprendre son importance dans la construction d'arbres de décision.

  • 04:10:00 Dans cette section de la vidéo, l'instructeur explique comment calculer l'entropie, qui est une mesure du caractère aléatoire, en utilisant une formule qui implique la probabilité de chaque classe et le logarithme de la probabilité. L'instructeur utilise l'exemple d'un ensemble de données pour jouer au golf et calcule l'entropie des classes "oui" et "non" pour démontrer le fonctionnement de la formule. L'instructeur aborde également différentes propriétés de l'entropie, y compris les classificateurs binaires à deux classes, et l'importance de minimiser l'entropie pour améliorer la précision d'un modèle d'apprentissage automatique.

  • 04:15:00 Dans cette section, l'instructeur explique le concept d'entropie, qui est une mesure du caractère aléatoire d'un attribut qui détermine s'il doit être divisé pour un arbre de décision. L'entropie est calculée en fonction du nombre de valeurs uniques dans les données, et l'objectif est de minimiser l'entropie pour obtenir de meilleurs résultats d'arbre de décision. L'instructeur fournit des exemples de différents scénarios et montre comment calculer l'entropie pour chacun afin de comprendre quand un attribut devient un nœud feuille ou doit être divisé davantage. L'entropie maximale est de 1 et l'entropie minimale est de 0, et différents algorithmes d'arbre de décision suivent des règles spécifiques concernant le moment de considérer un attribut comme une feuille ou de le diviser davantage en fonction de la valeur d'entropie.

  • 04:20:00 Dans cette section, le présentateur explique le concept d'entropie comme mesure du caractère aléatoire et le diagramme d'entropie. La valeur d'entropie la plus élevée est un et peut être calculée à l'aide d'une certaine équation. Passant au gain d'information, le présentateur le présente comme une autre mesure de sélection d'attributs et fournit un exemple d'ensemble de données utilisé pour l'expliquer. L'ensemble de données est divisé en sous-ensembles plus petits en fonction du nombre d'étiquettes, et l'entropie est calculée pour chaque sous-ensemble. Il s'agit d'une explication préliminaire du gain d'information, qui sera explorée plus en détail dans la section suivante.

  • La section 04:25:00 explique comment calculer le gain d'information dans les arbres de décision en utilisant l'entropie. Le processus consiste à prendre l'entropie de l'ensemble de la distribution des données, puis à prendre l'entropie avant et après la division des données. La formule de gain d'information consiste à soustraire l'entropie avant la séparation de l'entropie pondérée après la séparation. L'exemple utilisé dans cette vidéo montre comment l'entropie et l'entropie pondérée sont calculées pour chaque division, puis moyennées pour obtenir l'entropie pondérée de l'ensemble de données. Enfin, l'entropie avant séparation est soustraite de l'entropie après séparation pour déterminer le gain d'information.

  • 04:30:00 l'impureté de Gini est très similaire au calcul d'entropie, mais au lieu d'utiliser des logarithmes, elle utilise des probabilités au carré. Après avoir divisé l'ensemble de données en plusieurs catégories, vous calculez l'impureté Gini pondérée, puis vous la soustrayez de l'impureté Gini précédente pour obtenir le gain d'informations. Il s'agit d'une méthode populaire et couramment utilisée dans l'apprentissage automatique. Il est important de comprendre l'impureté de Gini, ainsi que l'entropie et le gain d'informations lors de la construction d'un modèle d'arbre de décision.

  • 04:35:00 Dans cette section, l'instructeur explique le concept d'impureté de Gini comme une autre mesure d'impureté dans un arbre de décision. L'impureté de Gini est un signe donné pour une impureté donnée de y égal au 1 moins i égal à 1 tout autour du k. L'instructeur explique le scénario d'impureté de Gini avec un exemple d'avoir une valeur de catégorie unique de oui ou non où 0,5 est la probabilité du nombre de oui et le nombre de non est de 0,5. L'impureté de gain de 0,5 est maximale en impureté de Gini, qui est principalement utilisée comme alternative à l'entropie car elle est plus rapide, car elle évite l'utilisation de la fonction log en entropie. Enfin, l'instructeur montre le diagramme de l'entropie et de l'impureté de Gini et promet de démontrer comment utiliser un classificateur d'arbre de décision pour effectuer une tâche de régression dans la section suivante.

  • 04:40:00 Dans cette section de la vidéo, l'instructeur explique comment calculer l'entropie avant de diviser les données pour déterminer le gain d'informations. Ils prennent l'entropie de la distribution des données et calculent le gain d'information par rapport à la variable de perspective. Ils divisent ensuite les données en fonction de cette variable et continuent de calculer l'entropie pondérée et le gain d'informations pour les variables de température, d'humidité et de vent. En fin de compte, on constate que le gain d'information dans outlook est le plus élevé, il est donc choisi comme nœud racine pour l'arbre de décision.

  • 04:45:00 arbre de décision et comment il peut être utilisé à la fois pour les problèmes de classification et de régression. Dans la classification, les arbres de décision sont construits sur la base du calcul des mesures d'impureté, telles que l'entropie et le coefficient de Gini, pour prendre des décisions à chaque nœud. L'objectif est de rendre l'arbre aussi pur que possible ou jusqu'à ce qu'il atteigne un point où il devient pur. Dans la régression, les arbres de décision sont construits en prenant la moyenne de la valeur cible à chaque point de division jusqu'à ce qu'elle atteigne un nœud feuille. Le surajustement peut être un problème dans les arbres de décision, il est donc important d'arrêter la croissance de l'arbre à une certaine profondeur ou d'élaguer certaines branches pour le rendre plus robuste.

  • 04:50:00 Dans cette section, l'instructeur explique qu'il est important de comprendre les mesures de sélection d'attributs lors de l'utilisation d'arbres de décision. Ils fournissent des exemples et expliquent la mise en œuvre de la régression par arbre de décision et du classificateur résidentiel. L'instructeur met l'accent sur l'importance d'apprendre de la mise en œuvre et explique les hyperparamètres tels que la profondeur maximale de l'arbre, la division minimale de l'échantillon, la feuille minimale de l'échantillon et le contrôle d'état aléatoire. Ils montrent également un exemple d'utilisation de l'outil graphique pour tracer un arbre de décision.

  • 04:55:00 Dans cette section, la vidéo traite de la régression de l'arbre de décision et de ses critères de mesure de la fonction, y compris l'erreur quadratique moyenne, l'erreur absolue moyenne et le poison. La vidéo met l'accent sur l'importance des hyperparamètres, en particulier le pas max, dans le contrôle du surajustement. Des exemples d'arbres de décision et leurs méthodes, telles que l'intrigue, sont également présentés, et la vidéo souligne l'importance de comprendre les arbres de décision en tant que concept crucial de l'apprentissage automatique. La section suivante traite de l'apprentissage d'ensemble et de ses trois techniques : bagging, boosting et stacking, qui sont couramment utilisées dans les compétitions Kaggle.