Algorithmes

Qu’est-ce que c’est et pourquoi c’est important ?

Un algorithme est une liste d'instructions pas-à-pas conçues pour accomplir une tâche spécifique ou résoudre un problème particulier. Quand on y pense de cette façon, les algorithmes sont omniprésents. Une recette de soupe à l'oignon, par exemple, est un algorithme. Combinez ces entrées pour générer une sortie. Les algorithmes fonctionnent fondamentalement de la même manière avec les ordinateurs. Qu'il s'agisse de convertir des chiffres binaires en lettres pour que vous puissiez lire ce qui s'affiche sur l'écran de votre tablette, ou de recommander des actions en bourse en fonction de votre tolérance au risque, les algorithmes sont fondamentaux dans l'informatique moderne. Cette page se concentre sur les algorithmes informatiques.

Brève histoire des algorithmes

Les algorithmes peuvent sembler être une nouvelle invention, mais le terme remonte en fait à un millénaire, lorsque le mathématicien perse Muḥammad ibn Mūsā al-Khwārizmī (latinisé "Algoritmi") a apporté d'importantes contributions aux mathématiques. Le concept a été repris dans les années 1800 lorsque le mathématicien allemand Carl Friedrich Gauss a inventé un algorithme simple pour déterminer le jour de l'année civile où tombe Pâques.

Les algorithmes ont fait leurs débuts en informatique au milieu du 20e siècle, lorsque le célèbre informaticien britannique Alan Turing a élaboré une théorie sur la manière dont les machines pouvaient exécuter un ensemble complexe d'instructions. Bien que son algorithme rudimentaire de jeu d'échecs "Turochamp" n'ait jamais battu un humain du vivant de Turing, il a constitué la base de ce que nous appelons aujourd'hui l'intelligence artificielle.

La puissance de l'informatique s'est accélérée au cours des décennies suivantes, tout comme le besoin d'algorithmes plus complexes. Aujourd'hui, les algorithmes sont fondamentaux pour l'informatique moderne, car ils nous aident à conduire de A à B, à décider du prochain film à regarder ou même à tomber amoureux.

De nombreux programmes informatiques sont en fait une séquence d'algorithmes écrits d'une manière que l'ordinateur peut comprendre.

Manufacturing

L'analytique prédictive et l'IA offrent une expérience client gagnante

L'Orlando Magic utilise les données des applications mobiles et les algorithmes de machine learning pour personnaliser l'expérience des fans et multiplier par quatre les achats d'applications.

Les algorithmes dans le monde d'aujourd'hui

Alors que les algorithmes remplacent de plus en plus de décisions humaines dans la société, certains ont le potentiel de changer des vies. C'est pourquoi certains soutiennent que nous devrions explorer davantage l'équité dans les algorithmes, en particulier dans la justice pénale et les soins de santé.

Vous êtes curieux de savoir qui développe les algorithmes qui transforment la société sous vos yeux ? Ce livre blanc de la Harvard Business Review s'intéresse aux visages humains qui se cachent derrière les progrès de l'informatique et de l'automatisation qui font avancer le monde.

Les algorithmes peuvent même aider à sauver la forêt tropicale. En recherchant chaque jour parmi des millions d'images les signes précurseurs de la déforestation, les algorithmes de vision par ordinateur peuvent aider les décideurs politiques et les organisations humanitaires à intervenir pour protéger les forêts menacées avant qu'il ne soit trop tard.

L'algorithme de Netflix

Lorsque vous regardez Netflix, les algorithmes vous regardent. Le moteur de recommandation Netflix, comme on l'appelle, est constitué d'algorithmes propriétaires sophistiqués qui tiennent compte de ce que la société sait de vous pour prédire la probabilité que vous regardiez un certain titre de son catalogue. Aujourd'hui, 80 % du temps d'écran de Netflix est obtenu grâce à la personnalisation. Les entrées de l'algorithme comprennent votre historique de visionnage, vos genres préférés et le moment de la journée où vous regardez. Plus vous regardez Netflix, plus les algorithmes deviennent précis, ce qui vous encourage à regarder davantage Netflix, et ainsi de suite. 

Comment fonctionnent les algorithmes

Les algorithmes doivent avoir cinq propriétés pour fonctionner :

  1. Entrées : Des données bien définies qui seront transformées pendant le calcul. 
  2. Sorties : Les données résultant du calcul. 

  3. Définitude : Étapes de calcul spécifiques. 
  4. Efficacité : Étapes de calcul réalisables. 
  5. Finitude : Un nombre fini d'étapes.

Cela nous amène aux algorithmes basés sur les mathématiques et ceux basés sur les règles.

Algorithmes basés sur les mathématiques
Comme la plupart des algorithmes sont numériques par nature, il n'est pas surprenant que beaucoup soient basés sur les mathématiques. Prenons l'exemple le plus simple : 1 + 1 = 2. Il s'agit d'un algorithme mathématique dans lequel les 1 sont les entrées et le 2 est la sortie. En extrapolant cet exemple, on obtient certains des algorithmes les plus importants utilisés aujourd'hui, notamment les algorithmes qui décomposent les signaux en fréquences, codent les ordinateurs et déterminent même le classement d'un site internet sur Google.

Algorithmes basés sur les règles
À mesure que les humains en apprennent davantage sur l'IA, nous constatons que certaines choses ne peuvent pas être expliquées uniquement par des constructions mathématiques. Par exemple, si vous développez un logiciel d'analyse textuelle et que vous avez besoin d'un algorithme pour mettre un nom au pluriel, vous ne pouvez pas simplement ajouter un "S" à chaque nom. Pensez aux exceptions comme œil et yeux. Nous avons des règles pour ces occasions spéciales. Les algorithmes basés sur des règles sont idéaux pour analyser des données contenant un mélange d'attributs numériques et qualitatifs.

Bien entendu, vous pouvez utiliser plus d'un type d'algorithme pour résoudre un problème donné – par exemple pour prédire le revenu d'une personne. Pour effectuer ce calcul, vous pouvez utiliser un algorithme mathématique dans lequel vous pondérez des variables telles que l'âge, le lieu de résidence, l'éducation, etc. Vous pouvez également utiliser un algorithme basé sur des règles qui prédit le revenu en fonction de l'âge et du code postal, par exemple. Alors quelle est la meilleure solution ?

Cela nous amène à la mise en concurrence des algorithmes. On oppose souvent les algorithmes les uns aux autres pour voir lequel est le plus efficace. Pour en revenir à notre exemple de soupe, vous pouvez avoir des recettes concurrentes qui donnent toutes une soupe à l'oignon. Il en va de même avec les algorithmes informatiques. L'algorithme A est peut-être plus lent mais plus précis que l'algorithme B. Mais le B est plus facile à valider. Le bon algorithme pour une tâche donnée dépend des différents critères que vous utilisez pour le juger. A-t-il permis d'accomplir la tâche ? A-t-il accompli la tâche rapidement ? A-t-il accompli la tâche efficacement ?

Inspiré par la nature

Aujourd'hui, la plupart des projets d'IA font appel à plusieurs technologies de data science. Selon Gartner, l'utilisation d'une combinaison de différentes techniques analytiques et d'IA pour obtenir le meilleur résultat est appelée IA composite.

Les algorithmes peuvent être considérés comme un raccourci de la pensée humaine. En tant que tels, ils sont souvent inspirés par des éléments de la nature. Les algorithmes génétiques, par exemple, copient la biologie de l'évolution des organismes au fil du temps. Ces algorithmes reproduisent des points de décision combinés pour créer une descendance dotée des caractéristiques de ses parents. De même, les réseaux neuronaux s'inspirent du cerveau biologique et sont utilisés pour résoudre différents problèmes comme la vision par ordinateur et le traitement automatique du langage naturel.

Types d'algorithmes les plus courants

Les algorithmes peuvent raisonnablement être classés en deux catégories : basique ou avancé.

Basique
Vous ne vous en rendez peut-être pas compte, mais les algorithmes alimentent même les fonctions informatiques les plus élémentaires. Voici un aperçu de trois algorithmes de base largement utilisés aujourd'hui.

Algorithmes de compression
Lorsque la plupart des gens utilisent un ordinateur, ils font quelque chose de basique, comme lire un article ou visualiser des images. Cela est possible grâce aux algorithmes qui compriment les fichiers afin qu'ils puissent être visualisés, partagés et restaurés. Pensez à un fichier JPG. Lorsque vous regardez une photo de la nouvelle cabane de votre neveu, vous regardez en fait une image bitmap qui a été soumise à un algorithme de compression avec perte pour convertir des millions de représentations numériques de pixels en une image sur l'écran qui vous fait sourire. 

Algorithmes de recherche binaire
La recherche binaire est un algorithme de recherche rapide qui fonctionne sur la base du principe "diviser pour régner". Imaginons que vous recherchiez le fichier 2020impots.PDF sur votre ordinateur portable. Avec une recherche binaire, l'algorithme choisit une observation au milieu de l'ensemble de données et vérifie si l'identifiant du sujet trouvé est l'identifiant du sujet recherché. Si c'est le cas, l'algorithme s'arrête. Si ce n'est pas le cas, puisque la table est triée, l'algorithme peut déterminer si l'observation souhaitée est au-dessus ou au-dessous de celle trouvée et redéfinir la plage de recherche pour qu'elle corresponde à la moitié du fichier d'origine. L'algorithme choisit alors l'observation au milieu de la nouvelle plage de recherche, et le processus se répète jusqu'à ce que le fichier PDF soit trouvé. Oups, vous avez sous-payé vos impôts l'année dernière. 

Algorithmes de multiplication
Des algorithmes sont encore plus simples que ceux mentionnés ci-dessus. En fait, l'un des algorithmes les plus populaires est celui qui multiplie les nombres. Presque tout ce que vous faites avec un algorithme nécessite la multiplication de deux nombres ou plus. Même dans un domaine basé sur les mots, comme l'analyse textuelle, vous évaluez des éléments comme la fréquence des mots et la fréquence des documents, et cela implique souvent un multiplicateur. 

Avancé
À l'autre bout du spectre, on trouve les algorithmes avancés. Ils s'appuient sur des algorithmes de base avec de nouvelles idées. Et ils impliquent souvent le traitement d'énormes ensembles de données.

Algorithmes de machine learning
Le machine learning utilise des algorithmes qui reçoivent et analysent les données d'entrée pour prédire les valeurs de sortie dans une fourchette acceptable. Ce qui est intéressant avec ces algorithmes, c'est qu'ils apprennent d'autres algorithmes. Au fur et à mesure que les algorithmes de machine learning reçoivent de nouvelles données, ils apprennent et optimisent leurs opérations pour améliorer leurs performances, développant ainsi leur intelligence au fil du temps. Il existe quatre types d'algorithmes de machine learning : supervisé, semi-supervisé, non supervisé et par renforcement.

Algorithmes de deep learning
Les algorithmes de deep learning utilisent plusieurs couches pour extraire progressivement des caractéristiques de niveau supérieur à partir des données d'entrée. Essayant d'égaler le cerveau humain, ces algorithmes tentent de tirer des conclusions similaires à celles des humains en analysant continuellement les données à l'aide d'éléments appelés réseaux neuronaux artificiels. Les résultats de ces algorithmes complexes peuvent changer la vie, par exemple en permettant aux voitures de se conduire elles-mêmes ou en traduisant des livres du français à l'arabe en un clin d'œil.

Algorithmes Gradient Boosting
Les modèles prédictifs aident les entreprises à prendre des mesures comme prévoir les ventes et fixer le prix des marchandises en fonction de la demande attendue. Le Gradient Boosting est un algorithme puissant pour construire ces modèles prédictifs. Il fonctionne en transformant des arbres de décision faibles en arbres de décision forts, améliorant ainsi la précision d'une prédiction. L'algorithme est connu pour sa rapidité et sa précision, en particulier avec des ensembles de données volumineux et complexes. 

Quel algorithme utiliser ?

Les débutants veulent généralement savoir quel algorithme utiliser. La réponse dépend de nombreux facteurs, notamment :

  • La taille, la qualité et la nature des données. 
  • Le temps de calcul disponible. 
  • L'urgence de la tâche. 
  • Ce que vous voulez faire avec les données.

Même un data scientist expérimenté ne peut pas dire quel algorithme sera le plus performant avant d'en avoir essayé plusieurs. Lors du choix d'un algorithme, il est judicieux de prendre en compte les aspects suivants : précision, temps de formation et facilité d'utilisation. De nombreux utilisateurs privilégient la précision, tandis que les débutants ont tendance à se concentrer sur les algorithmes qu'ils connaissent le mieux. Lorsqu'on vous présente un ensemble de données, la première chose à considérer est la façon d'obtenir des résultats, quelle que soit l'apparence de ces résultats. Une fois que vous avez obtenu des résultats et que vous vous êtes familiarisé avec les données, vous pouvez choisir de passer plus de temps à utiliser des algorithmes plus avancés pour renforcer votre compréhension des données, et donc améliorer encore les résultats. En savoir plus sur la sélection des algorithmes.

Étapes suivantes

Vous voulez en savoir plus sur les algorithmes ? Faites le avec SAS !

Il y a seulement dix ans, travailler avec des algorithmes nécessitait un diplôme d'études supérieures et une connaissance approfondie des mathématiques et de l'informatique. Aujourd'hui, les algorithmes les plus sophistiqués au monde sont soigneusement intégrés dans des logiciels, de sorte que même les utilisateurs avancés peuvent faire un excellent travail sans avoir à bricoler des formules.  

SAS® Visual Data Mining et Machine Learning. est l'une de ces solutions. Ce produit contient certains des algorithmes les plus avancés au monde, permettant aux utilisateurs de tous horizons de résoudre des problèmes analytiques complexes. Ce logiciel très bien noté offre quantité d'algorithmes pour vous aider par exemple à construire des modèles prédictifs et à identifier des opportunités commerciales rentables.

Prenez contact avec SAS et voyons ensemble ce que nous pouvons faire pour vous.