Richard Schneeman
May 08, 2017
3k

# Bayes is BAE

Before programming, before formal probability there was Bayes. He introduced the notion that multiple uncertain estimates which are related could be combined to form a more certain estimate. It turns out that this extremely simple idea has a profound impact on how we write programs and how we can think about life. The applications range from machine learning and robotics to determining cancer treatments. In this talk we'll take an in depth look at Bayses rule and how it can be applied to solve problems in programming and beyond.

May 08, 2017

## Transcript

4. ### Divine Benevolence, or an Attempt to Prove That the Principal

End of the Divine Providence and Government is the Happiness of His Creatures

6. ### An Introduction to the Doctrine of Fluxions, and a Defence

of the Mathematicians Against the Objections of the Author of The Analyst

40. ### Probability of \$3.7 mil given Heads P(A ∣ B) =

P(B ∣ A) P(A) P(B)
41. ### Probability of \$3.7 mil given Heads P(A ∣ B) =

P(B ∣ A) P(A) P(B)
42. ### probability of heads P(A ∣ B) = P(B ∣ A)

P(A) P(B) P(B) =

44. ### P(B) = H H H T probability of heads P(B)

= 0.5 * 0.5 + 0.5 * 1 0.75 P(B) =

P(B) = 0.75
46. ### P(A) = P(A ∣ B) = P(B ∣ A) P(A)

P(B) 0.75 probability of \$3.7 million

=
49. ### P(A ∣ B) = P(B ∣ A) P(A) P(B) 0.50

0.75 0.50 P(A) =
50. ### P(A ∣ B) = P(B ∣ A) P(A) P(B) P(B

∣ A) = 0.75 0.50 probability of heads given \$3.7

=
52. ### P(B ∣ A) = 0.5 P(A ∣ B) = P(B

∣ A) P(A) P(B) 0.75 0.5 * 0.5
53. ### \$3.7 mil given Heads P(A ∣ B) = P(B ∣

A) P(A) P(B) 0.75 0.5 * 0.5 P(A ∣ B) = 1 3 = 0.3333

60. ### P(Ai ∣ B) = P(B ∣ Ai ) P(Ai )

∑ j P(B ∣ Aj ) P(Aj )
61. ### P(A ∣ B) = P(B ∣ A) P(A) P(B) P(Ai

∣ B) = P(B ∣ Ai ) P(Ai ) ∑ j P(B ∣ Aj ) P(Aj )

69. ### P(Hea d s) = P(Hea d s ∣ \$\$\$)P(\$\$\$) +

P(Hea d s ∣ \$0)P(\$0) \$3.7 mil \$0 Heads Tails
70. ### \$3.7 mil \$0 P(Hea d s) = P(Hea d s

∣ \$\$\$)P(\$\$\$) + P(Hea d s ∣ \$0)P(\$0) Heads Tails
71. ### P(B) = ∑ j P(B ∣ Aj ) P(Aj )

Total Probability
72. ### P(B) = H H H T probability of heads P(B)

= 0.5 * 0.5 + 0.5 * 1 0.75 P(B) =
73. ### P(B) = ∑ j P(B ∣ Aj ) P(Aj )

P(Hea d s) = P(Hea d s ∣ \$\$\$)P(\$\$\$) + P(Hea d s ∣ \$0)P(\$0) Total Probability

75. ### P(Ai ∣ B) = P(B ∣ Ai ) P(Ai )

∑ j P(B ∣ Aj ) P(Aj )
76. ### P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini

) ∑ j P(HH ∣ Coinj ) P(Coinj )
77. ### P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini

) ∑ j P(HH ∣ Coinj ) P(Coinj ) P(HH ∣ Coini ) = 0.5 * 0.5
78. ### P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini

) ∑ j P(HH ∣ Coinj ) P(Coinj ) 0.5 P(Coini ) =
79. ### P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini

) ∑ j P(HH ∣ Coinj ) P(Coinj ) ∑ j P(B ∣ Aj ) P(Aj ) = P(HH ∣ \$\$\$)P(\$\$\$) + P(HH ∣ \$0)P(\$0) ∑ j P(B ∣ Aj ) P(Aj ) = 0.25(0.5) + 1.0(0.5)
80. ### P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini

) ∑ j P(HH ∣ Coinj ) P(Coinj ) ∑ j P(B ∣ Aj ) P(Aj ) = P(HH ∣ \$\$\$)P(\$\$\$) + P(HH ∣ \$0)P(\$0) ∑ j P(B ∣ Aj ) P(Aj ) = 0.25(0.5) + 1.0(0.5)
81. ### P(Coin\$\$\$ ∣ HH ) = 0.25(0.5) 0.625 = 1 5

= 0.2 P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini ) ∑ j P(HH ∣ Coinj ) P(Coinj )
82. ### P(Coin\$\$\$ ∣ HH ) = 0.25(0.5) 0.625 = 1 5

= 0.2 P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini ) ∑ j P(HH ∣ Coinj ) P(Coinj )
83. ### P(Coini ∣ HH ) = 0.25(0.5) 0.625 = 1 5

= 0.2 P(Coini ∣ HH ) = P(HH ∣ Coini ) P(Coini ) ∑ j P(HH ∣ Coinj ) P(Coinj )

88. ### P(A ∣ B) = P(B ∣ A) P(A) P(B) P(Ai

∣ B) = P(B ∣ Ai ) P(B) P(Ai )

) Prior

) Posterior

95. ### alt it u decurrent time = 0.75 alt it u

deprevious time
96. ### alt it u decurrent time = 0.75 alt it u

deprevious time
97. ### a = rate_of_decent = 0.75 x = initial_position = 1000

r = measure_error = x * 0.20

[]

100. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess
101. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a
102. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + gain * (measure - x_guess)
103. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + gain * (measure - x_guess) Low Predict Error, low gain
104. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + 0 * (measure - x_guess) Low Predict Error, low gain
105. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + 0 * (measure - x_guess) Low Predict Error, low gain
106. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + 1 * (measure - x_guess) High Predict Error, High gain
107. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + 1 * (measure - x_guess) High Predict Error, High gain

110. ### for k in range(10): measure = measure_array[k] # Predict x_guess

= a * x_guess p = a * p * a # Update gain = p / (p + r) x_guess = x_guess + gain * (measure - x_guess) p = (1 - g) * p