Skip to content

Instantly share code, notes, and snippets.

@panchishin
Last active December 31, 2019 00:13
Show Gist options
  • Save panchishin/9f8627d7ba3d5af0e635a449dc8abeb5 to your computer and use it in GitHub Desktop.
Save panchishin/9f8627d7ba3d5af0e635a449dc8abeb5 to your computer and use it in GitHub Desktop.
An example of machine learning from https://youtu.be/wUPFOFbCeFI
from random import random
from math import pow
ys_and_xs = [ (1, 3.8), (2, 1.9), (3, 2.9),
(4, 4.5), (5, 6.4), (6, 3.5),
(7, 6.7), (8, 6.2), (9, 8.0) ]
def grade(a, b):
error = 0
for x,y in ys_and_xs:
error += pow( a*x + b - y , 2 )
return error
def someChange():
return random() - .5
a = 1
b = 0
err = grade(a,b)
for _ in range(100000):
new_a = a + someChange()
new_b = b + someChange()
new_err = grade(new_a, new_b)
if new_err < err:
a = new_a
b = new_b
err = new_err
print "a =", a, ", b =", b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment