[PYTHON] Introduction à l'hypothèse Tensorflow-About et au coût de la régression linéaire

Buts d'apprentissage

Comprendre pourquoi vous faites des hypothèses avec la régression linéaire Faire une ligne d'hypothèse Comprendre la fonction de coût qui peut identifier les hypothèses proches de la bonne réponse

Glossaire

le terme La description
Linear Regression Régression linéaire
Hypothesis hypothèse
le terme La description
H(x) Hypothèse
Wx Incliné(W (Est-ce une chaîne peu claire?))
b déviation(bias)

Raisons de faire une hypothèse avec la régression linéaire

Par souci de simplicité, nous avons préparé les données d'entraînement suivantes.

x y
1 1
2 2
3 3

Ceci est exprimé linéairement comme suit.

スクリーンショット 2016-08-21 14.02.25.png

Il existe de nombreuses choses linéaires et prévisibles dans le monde. Par exemple:

Si vous souhaitez estimer le loyer d'une maison (plus la maison est grande, plus le loyer est élevé) Si vous souhaitez prédire vos notes d'examen (plus vous accordez de temps pour étudier, plus vos notes sont élevées)

Etc.

Comment faire une ligne hypothétique

Faisons une ligne pour faire une hypothèse Données d'entraînement x et données arbitraires Faites-le en ajoutant W et b.

Dans la formule, écrivez comme suit.

スクリーンショット 2016-08-21 14.21.25.png

Qu'est-ce que la fonction de coût?

La figure ci-dessous est une version linéaire de trois hypothèses.

スクリーンショット 2016-08-21 14.10.18.png

Parce que les données d'entraînement sont x = 1, y = 1, x = 2, y = 2, x = 3, y = 3 Vous pouvez voir que la ligne bleue s'applique aux données d'entraînement. (Il n'y a que trois hypothèses) Mais nous avons besoin d'un moyen de le trouver mathématiquement afin qu'il puisse être compris par l'ordinateur.

Par conséquent, nous utilisons quelque chose appelé Fonction de coût.

En gros, fonction de coût Il s'agit de comparer la distance debout (y) de la «ligne hypothétique» et de la «ligne correcte» et d'identifier que plus la distance est courte, plus la ligne sera correcte.

Comparez les distances debout comme indiqué dans la figure ci-dessous.

スクリーンショット 2016-08-21 15.07.10.png

"Ligne faite par hypothèse" - "Distance debout (y)" La formule que je viens de dire est la suivante.

スクリーンショット 2016-08-21 15.13.02.png

Cependant, avec cela Si y est plus grand que la ligne hypothétique Ce sera négatif, alors carrément.

スクリーンショット 2016-09-04 15.51.33.png

L'application de cette formule à ces données d'entraînement donne:

スクリーンショット 2016-08-21 15.23.24.png

Les données d'entraînement sont de trois, donc je les ai divisées par trois.

Pour l'exprimer sous la forme d'une expression pouvant être utilisée pour des millions de données d'entraînement, exprimez-la comme suit.

スクリーンショット 2016-08-21 16.44.32.png

Où H est スクリーンショット 2016-08-21 14.21.25.png C'était le résultat de Je pense donc que cela peut être exprimé comme suit.

スクリーンショット 2016-08-21 16.48.06.png

De plus, plus la valeur de coût (W, b) est petite, plus l'hypothèse correcte peut être identifiée. Par conséquent, il est exprimé comme suit.

スクリーンショット 2016-08-21 16.47.29.png

Conclusion jusqu'à présent

Créez une ligne hypothétique en utilisant des données d'entraînement et des valeurs W, b arbitraires Plus la valeur Coût (W, b) est petite, plus la ligne correcte est proche

Recommended Posts

Introduction à l'hypothèse Tensorflow-About et au coût de la régression linéaire
Régression linéaire avec statsmodels
1.1 Premiers pas avec Python
Premiers pas avec apache2
Premiers pas avec Python
Premiers pas avec Django 1
Introduction à l'optimisation
Régression avec un modèle linéaire
Premiers pas avec Numpy
Premiers pas avec Spark
Premiers pas avec Python
Premiers pas avec Pydantic
Premiers pas avec Jython
Premiers pas avec Django 2
Premiers pas avec python3 # 2 En savoir plus sur les types et les variables
Traduire Premiers pas avec TensorFlow
Introduction aux fonctions Python
Introduction à Tkinter 2: Button
Premiers pas avec Go Assembly
Premiers pas avec Python Django (4)
Premiers pas avec Python Django (3)
Introduction à Python Django (6)
[Python] Régression linéaire avec scicit-learn
Premiers pas avec Django avec PyCharm
Premiers pas avec Python Django (5)
Régression linéaire robuste avec scikit-learn
Premiers pas avec Python responder v2
Introduction à Git (1) Stockage d'historique
Premiers pas avec Sphinx. Générer docstring avec Sphinx
Premiers pas avec les applications Web Python
Premiers pas avec Python pour les classes PHPer
Premiers pas avec Sparse Matrix avec scipy.sparse
Premiers pas avec Python Bases de Python
Régression linéaire avec distribution t de Student
Premiers pas avec Cisco Spark REST-API
Commençant par USD sur Windows
Premiers pas avec les algorithmes génétiques Python
Premiers pas avec Python 3.8 sous Windows
Premiers pas avec Python pour les fonctions PHPer
Premiers pas avec CPU Steal Time
Premier TensorFlow (édition révisée) - Régression linéaire et logistique
Premiers pas avec python3 # 1 Apprenez les connaissances de base
Premiers pas avec Python Web Scraping Practice
Différence entre la régression linéaire, la régression Ridge et la régression Lasso
Premiers pas avec Python Web Scraping Practice
Premiers pas avec Lisp pour Pythonista: Supplément
Comprendre les types de données et le début de la régression linéaire
Premiers pas avec Heroku, déploiement de l'application Flask
Premiers pas avec TDD avec Cyber-dojo chez MobPro
Premiers pas avec Processing et p5.js (pour ceux qui ont fait d'autres langues) 02
Introduction au traitement et p5.js (pour ceux qui ont fait d'autres langues) 01
Régression linéaire
Démarrer avec Python avec 100 coups sur le traitement du langage
Principes de base de MongoDB: Premiers pas avec CRUD avec JAVA
Premiers pas avec le dessin avec matplotlib: écrire des fonctions simples