XD blog

blog page


2018-02-17 Machine learning sans diagonale

La plupart de mes cours se font sous la forme de notebooks, plus ou moins indépendant, des exercices en pagaille qui manquent de cohérence et de continuité. Pour l'instant, ça s'appelle Petit voyage au pays du machine learning, ça n'est pas parfait mais ça a un début et une fin.

2018-02-16 280 notes en un jour

J'ai rendu 280 notes la semaine dernière, trois années, plus d'une centaine de projets - que je n'ai pas relus seul je vous rassure -, plus de 1 Go envoyés sur ma boîte mail et que j'ai dû télécharger. C'est aussi plus de 70 heures de cours, des nuits courtes en pagaille, 4 à 5h de sommeil, plus de 300 notebooks à maintenir, un qui pète par semaine à cause d'un module qui a mué d'une version, un hackathon avec 90 étudiants, des fous rires, un serveur qui tourne en permanence, plus d'une cinquantaine de jobs sur Jenkins, une trentaine de projets sur Github. Je m'arrête là, cela tourne à l'inventaire à la Prévert.

2018-01-31 ImagineCup

Microsoft organise la compétition ImagineCup depuis plus de 15 ans.

Imagine Cup est une compétition mondiale d’innovation réservée aux étudiants. Le principe : formez une équipe de 3 au maximum, présentez une solution logicielle répondant à la problématique de votre choix. Votre challenge : faire reposer cette solution sur une brique d’Intelligence Artificielle et la relier au Cloud Microsoft Azure. Vous pouvez présenter un projet personnel aussi bien qu’un projet intégré à votre parcours d’études.

Si vous avez un projet de startup utilisant l'intelligence artificielle, une idée qui végète dans votre esprit, c'est l'occasion de la développer et peut-être partir à Seattle la défendre. Deadline pour la soumission de projets : 25 février minuit.

2018-01-22 La statistique expliquée à mon chat

Je suis en train de corriger des copies et quand l'une d'elles n'oublie pas de citer le modèle dont elle s'est inspirée, je tombe sur ce genre de vidéo...

Ca me rappelle cette collection du Seuil : Le Changement climatique expliqué à ma fille .

2018-01-21 Back in the past: fear of computers

I'm currently watching videos made by students about projects on machine learning. As their video is on youtube, the website decided to recommend the following video, news back from 1981 with an interview of Steve Jobs who was 26 at this time.

Jobs claimed he was able to reach one computer in every 1000 families and was confident enough he could reach 1 out of 10 in the next five years. The journalist introduced the short story which preceeds the interview by asking : "Should we fear computers?" Jobs replied by saying that a computer is just a tool, like a bicycle is, which emphasizes our inner talents.

We now wonder whether we should fear artificial intelligence. It seems we do not fear computers anymore. But the first five minutes are quite interesting in a way that it shows computers had invaded the society was already addicted to them. Planes, credit cards... so many things were already using them. The journalist questions Jobs about the danger of giving so much data about ourselves to these machine. Could it become a danger to our freedom? Computers could be replaced by artifical intelligence, the story could have been shown today on TV but the final question would not change: should we be giving away so much data? One answer from Jobs: there is no way back and the best way is not to reject computers but to learn how to use them to finally understand what danger we are talking about.

To conclude, I doubt any TV would display such a long sequence on any subject now. I fear that we have less and less wisdom and patience to answer the original question "Should we fear computers?".

2018-01-17 Montage vidéo avec Python

La programmation peut aussi servir à faire du montage vidéo. C'est du moins ce que j'ai essayé de construire en imaginant l'atelier pour Lille - Devoxx4Kid - 13 janvier 2018. Pour un néophite, le module moviepy n'est pas si évident que ça à manipuler. J'ai donc commencé à imaginer une interface avec uniquement des fonctions : Vidéos et Sons. J'y ai fait mon premier trucage vidéo :

Si on ajoute des modules tels que fcn qui permet de séparer les personnages du fond d'une image, on peut commencer à fabriquer des vidéos assez trafiquées.

2018-01-03 Small change and potentially big impact (pandas)

pandas updated its interface in its version 0.22. More particularly v0.22.0 (December 29, 2017),

print(pd.Series([]).sum())
0.0  # It was nan in 0.21.

This is typically the kind of change which could have a huge impact on many functions if you don't have unit tests to capture that. According to the documentation of sum, the previous behaviour can be retrieved by adding min_count=1.

print(pd.Series([]).sum(min_count=1))
nan

And in 10 days, computers might slow down: Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign. See also KASLR is Dead: Long Live KASLR.

2017-12-24 La politique et le climat

A la lecture de cet article, Week-end de Noël : la SNCF accusée de surréservations, les voyageurs exaspérés, je comprends que la SNCF vient de s'octroyer le droit de faillir en des circonstances extraordinaires comme la conjonction le même jour de deux vagues de départ, les vacances d'hiver et Noël. Je vais finalement m'estimer heureux d'avoir pris un train qui est parti à l'heure et est arrivé en retard de seulement 10 minutes. Un article plus loin, "Le gouvernement est en train de saccager le bio", je comprends que le gouvernement veut défendre l'agriculture biologique en réduisant les subventions qu'il lui accorde. Un autre article qui me concerne plus puisque je vais à Saclay pour enseigner, A Saclay, la difficile construction du pôle d'excellence scientifique, il a fallu 10 ans pour mettre en oeuvre un projet qui s'est finalement scindé en deux. Et malgré cette apparence de succès, la vie sociale de ce grand ensemble est difficile à construire. Sorti de l'ENSAE, il n'existe rien autour pour prendre un dernier verre, on pense à son RER qui a déjà traversé deux grèves en quatre mois, on essaye de trouver une place dans le bus qui vous amène à l'école, il me faut entre une heure et demi et deux heures le soir pour rentrer chez moi. Ce grand campus est peut-être fonctionnel mais il manque de vie. Les écoles ont été regroupées pour créer des synergies, faciliter les échanges essentiels à la recherche. Dans les faits, elles sont aussi éloignées que lorsqu'elles étaient à Paris.


more...

2017-12-21 Les vélib changent, les données aussi

JCdecaux arrêtera de fournir les données velib au 31 décembre. Le nouveau format des données suivrait le format General Bikeshare Feed Specification (GBFS). Il y a fort à craindre que quelques applications de vélib cessent de fonctionner pendant quelques temps. Je ne parle pas des applications pour les téléphones Windows qui ne seront probablement pas mise à jour.

2017-12-18 Intelligence artificielle : hope and despair

Le machine learning dans sa conception qui s'appuie sur des bases d'apprentissage et de test est une façon de synthétiser un savoir puis de le restituer. Ce savoir est une liste d'évènements passés, ce que l'on sait d'une manière plus ou moins structurée, il est restitué le plus souvent sous la forme d'une aide à la décision pour les décisions futures. Le machine learning ne fait rien d'autre que de dire, sur la base des éléments passés, qu'il se passerait probablement ceci pour ces nouveaux éléments. A vous de vous en servir au mieux.

Cela dit, cela dit, ... Je viens de voir l'épisode 7 de la saison 7 de The Good Wife sur l'intelligence artificielle (S7E7).


more...

2017-11-11 Hackaton ENSAE : 3ème édition

J'en dirais plus bientôt mais ces deux articles devraient vous mettre sur la voie : Emmaüs se lance dans le e-commerce solidaire, Label-emmaus.co veut être un « Leboncoin solidaire ». Le troisième hackathon de l'ENSAE aura lieu les 24 et 25 novembre. Il proposera trois sujets, un sujet deep learning, un machine learning, un dernier créatif, plus économique que les années précédentes. Trois sujets inspirés des problématiques rencontrées par Label Emmaüs qui a accepté de contribuer à l'événement. Ernst & Young sponsorise à nouveau l'événement, côté étudiants, Genius contribue de nouveau à l'organisation. En attendant les prochaines informations, il faudra vous contenter du résumé des deux précédentes éditions : Hackathon Microsoft / ENSAE / Croix-Rouge / DataForGood - 2015, Hackathon Ernst & Young / ENSAE / Croix-Rouge / Crésus - 2016.

2017-11-09 2 points de QI en moins par rapport à 1990

Ce documentaire Demain tous crétins expose des résultats assez inquiétants. Un enfant sur 68 présente des symptômes autistiques en Californie, d'autres montrent des retard de croissance. La cause est le manque d'iode des femmes enceinte au début de la grossesse, ou plutôt l'augmentation de mollécules que la thyroïde confond avec l'iode comme les PCB, le chlore, les retardeurs de flammes, les pesticides. Une étude menée en Californie menée sur 17 ans, une autre sur les soldats finlandais ont réussi à montrer une baisse inquiétante du QI depuis les années 1990. Bref, il est conseillé de saturer sa thyroïde d'iode. Le sel de guérande est une option à condition qu'il soit chauffé au soleil et de n'ajouter le sel qu'en fin de cuisson. Pour vous protéger : Demain, tous crétins ?, le livre Cocktail toxique, une émission sur France Inter : Demain tous crétins : le danger des perturbateurs endocriniens.

2017-11-05 streaming pandas dataframe

pandas is widely used by data scientists. It is one of the modules which contributed a lot to the Python ecosystem to manipulate data. It is not perfect, a dataset takes in memory three times the space it takes on disk in average and reading a couple of gigabytes is necessarily fast. However, a couple of gigabytes is not enough to think about stronger approaches such parallelization (dask, ...) but with a little bit of overhead for such size. All I wanted was the same functionalities as pandas but implemented in a streaming way. No need to load the whole datasets in memory, no need to wait for the data to be fully loaded in memory. That's why I started pandas_streaming.

import pandas
df = pandas.DataFrame([dict(cf=0, cint=0, cstr="0"),
                       dict(cf=1, cint=1, cstr="1"),
                       dict(cf=3, cint=3, cstr="3")])

from pandas_streaming.df import StreamingDataFrame
sdf = StreamingDataFrame.read_df(df)

for df in sdf:
    # process this chunk of data
    # df is a dataframe
    print(df)

The module will continue to grow probably not as fast as I would like it to.

2017-11-02 Le monde numérique quand on a perdu son mot de passe

Ma mémoire m'a joué des tours à l'étranger. J'ai une mémoire plutôt visuelle, je ne connais pas mon code de carte bleue mais l'enchaînement des touches mémorisés sur la plupart des claviers de distributeurs de cartes bleues ou de machine. A 14h, je règle un dernier achat avec ma carte bleue avant de prendre le train pour la Hollande où je me retrouve dans un taxi à 8h du soir à payer en carte bleue sur un clavier qui me perturbe. Impossible de me souvenir du code. J'essaye deux fois et j'échoue. Plus qu'un essai. Je passe la nuit en essayant de me visualiser en train de taper mon code à Paris. Rien n'y fait. J'ai deux codes en tête et plus qu'un essai. Malheureusement, l'endroit où je dois me rendre est à 8km à pieds de mon hôtel. Je me réveille avec 8 euros en poche et une chance sur deux d'aller en taxi. Ca n'a pas loupé. Je me suis tapé 8 km à pied en 1h30, avec quelques détours, sur les pistes cyclables néerlandaises. A l'accueil de l'hôtel, je demande comment on peut se rendre à pied dans la ville d'à côté. Petit rire de l'hôtesse, ma question est absurde. Je lui demande jusqu'où je peux aller avec 8 euros, elle n'en a aucune idée, elle vient en voiture. Me voilà parti avec mon sac à dos et une heure et demi avant d'arriver faire un speech de 20 minutes devant 400 personnes. Un brin stressant. Le soir, j'appelle le numéro de secours de ma banque pour tenter de débloquer ma carte bleue. Je tombe sur une femme adorable qui m'explique que je peux débloquer ma carte dans un distributeur de la banque, à Paris donc, c'est-à-dire à plus de 400 kilomètres de là où je suis ou je peux demander à ce qu'on me renvoit le code de ma carte chez moi sous cinq jours. Je n'aurais pas eu mon billet de retour, je me serais retrouvé coincé avec le souvenir d'une voix très polie mais absolument d'aucun secours. J'ai même un doute, si ça trouve, ma carte était bloquée à l'étranger quoiqu'il arrive. Ca me rappelle une autre histoire qui m'est arrivé lorsque j''étais à Seattle. A minuit, je reçois un appel de la banque pour me dire qu'elle pense que ma carte a été volée car elle a servi à Seattle. Je dormais, je n'ai pas entendu. Lorsque j'écoute le message, je comprends que j'ai quelques minutes pour confirmer qu'on ne me l'a pas volée sous peine de la voir désactivée. Bref, j'ai fait quinze bornes à pied, j'ai un peu mangé au salon où se tenait ma conférence et je ne sais pas si je vais retrouver ma carte demain. C'est un peu le problème du numérique, un mot de passe perdu et c'est potentiellement tout ce à quoi il donnait accès qui est perdu.


more...

2017-10-27 Entrepreneurs d'intérêt général : l'Etat comme source d'inspiration

J'ai assisté hier soir à la restitution des travaux menés par la première promotion des entrepreneurs d'intérêt général (EIG). La seconde promotion sera plus nombreuse et les candidatures sont encore ouvertes aujourd'hui jusque 17h. Il y a pas mal de sujets sur lesquels j'aimerais bien me pencher.

J'étais déjà enthousiaste sur le projet qui a découché sur la première promotion des EIG et ce qui m'avait incité à accepter la proposition de faire partie du jury qui a sélectionné les candidats. Je le suis tout autant en assistant la présentation des résultats. Cette promotion a tant que possible mis à disposition son travail sur github/eig-2017 et ce travail sera compléter durant les quelques semaines qui suivent. J'y ai découvert quelques outils développés par ces entrepreneurs addok-fr ou encore leaflet-geocoder-ban/demo (source) ou encore matchID, tous orientés vers le partage comme The Magical CSV Merge Machine, l'inventaire des orgues ou encore cette réflexion sur le parcours des données santés. Le rapport Des besoins d’information à la visualisation transcrit l'approche suivie sur un des challenges. Il illustre bien ce que peut être un projet datascience dans une institution qui n'a pas toujours l'habitude de ce type d'approche et porte sur un problème de données que tout le monde peut se représenter : les données de santé.


more...
<-- -->

Xavier Dupré