Recap #1 Ce que j'ai lu sur le Deep Learning cette semaine (ChatGPT, Magic Methods en Python, l'approche data-centric..)
Namaste đ
Voici un rĂ©cap de ma semaine de lecture dâarticles :
âPredicting The FIFA World Cup 2022 With a Simple Model using Pythonâ
Sur les prĂ©dictions pour le mondial de foot. Dans cet article, le gus a utilisĂ© la loi de Poisson mais câest pas ce qui mâintĂ©resse.
Ce projet me rappelle ce que jâai lu dans le livre Big Data Foot :
LâĂ©conomiste israĂ©lien Daniel Kahneman, auteur de SystĂšme 1/ SystĂšme 2, et dâautres ont dĂ©couverts 188 formes diffĂ©rentes de biais cognitifs. Tous ont la mĂȘme origine : la tendance du cerveau Ă commettre des erreurs quand il est amenĂ© Ă rĂ©flĂ©chir trop vite, et non de maniĂšre calme et analytique. Les jugements hĂątifs sont souvent erronĂ©s parce quâon surestime notre capacitĂ© Ă prendre la bonne dĂ©cision dans un laps de temps trĂšs court.
Les chiffres peuvent facilement conduire Ă plus de biais cognitifs. La tentation de choisir des statistiques qui confirment les a priori que lâon a sur un joueur est forte, tout comme dâĂ©carter les stats susceptibles de le discrĂ©diter.
7 Super Cheat Sheets You Need To Ace Machine Learning Interview
Mon article préféré de la semaine !!!
Regardez moi ce petit recap des principaux algos en Machine Learning.
Idem pour Scikit-learn avec ce recap (Loading data, Splitting the dataset into train and test sets, Preprocessing data, Performing supervised machine learning tasks, Performing unsupervised machine learning tasks, Model fitting, Prediction, Evaluation, Cross validation, Model tuning).
Parfait quand on débute comme moi :D
âSay Goodbye to Loops in Python, and Welcome Vectorization!â
Sur lâimportance de la vectorization.
Rien de neuf sous le soleil. Je peux rĂ©sumer lâarticle Ă âThe np.dot implements Vectorized matrix multiplication in the backend. It is 165x faster as compared to loops in python.â
ConcrÚtement ce que ça donne :
import numpy as np
m = np.random.rand(1, 5)
x = np.random.rand(5000000, 5)
np.dot(x,m.T)
Pour la peine, jâai cherchĂ© Ă creuser les tableaux et calculs de vecteurs. VoilĂ ce que jâen ai retenu.
ChatGPT is taking over the internet. But do you know how it actually works? It's so clever.
Il explique que son fonctionnement est des plus simples :
Payer des gens pour parler de sorte à avoir un model qui génÚre des phrases humaines
Utiliser des gens pour classer les phrases gĂ©nĂ©rĂ©es. Ce second model accorde un score (ils parlent de reward, câest marrant pour un algo).
En fonction du score lâalgo procĂšde Ă des modifications pour gagner en pertinence dans la rĂ©ponse
Répéter ce processus des millions de fois.
Câest amusant parce que dit comme ça, ça ne semble pas extraordinaire.
The power of the data-centric approach
Lâauteur de cet article explique que sa vision de la façon d'aborder les problĂšmes a changĂ©. En fait, plutĂŽt que de se concentrer sur le model (comme il lâa toujours fait), il accorde beaucoup plus dâimportance aux donnĂ©es.
Grosso modo, on a beau chercher à optimiser le model, si les données sont merdiques, vous perdez votre temps. Des données merdiques sont des données incohérentes, avec de nombreuses valeurs NULL, par exemple.
Son conseil est donc de faire une bonne analyse exploratoire des données (EDA).
Ne sachant pas trop diffĂ©rencier la bonne dâune mauvaise exploration de donnĂ©es, je me suis ajoutĂ© sur ma liste des sujets Ă creuser. Bonne raison de sâabonner ;)
Python Magic Methods You Might Not Have Heard About
Grosso modo jây ai dĂ©couvert plusieurs mĂ©thodes/attributs magiques :
__call__
qui permet de personnaliser le comportement dâune instance dâune classe.
class NoInstances(type):
def __call__(cls, *args, **kwargs):
raise TypeError("Can't create instance of this class")
This can be useful if you have a class that only have static methods and therefore thereâs no good reason to create instances of said class.
__new__
Instead of callingDocument(...)
we invoke which creates a bare instance without invoking__init__
.
Document.__new__(Document)
__all__ can be used to define which variables and function get exported from a module.
__all__ = ["func", "some_var"]
Il évoque aussi __file__, __debug__
Joyeux noël ;)