Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def fit_polynomial_bayes(x, t, M, alpha, beta):
- phi = np.vander(x,M+1)
- Snpart1 =(alpha*np.identity(M+1))
- Snpart2 = (beta*phi.T.dot(phi))
- Sn = inv(Snpart1+Snpart2)
- Mn = beta*Sn.dot(phi.T).dot(t)
- return Mn, Sn
- def predict_polynomial_bayes(x, m, S, beta):
- N = S.shape[0]
- phi = np.vander(x, N=N)
- sigma = 1/beta + np.dot(np.dot(phi.T, S), phi)
- predM = np.dot(m.T, phi)
- return predM, sigma
- x, t = gen_sinusoidal2(7)
- M= 5
- alpha = 0.5
- beta = 1/(0.2**2)
- Mn, Sn = fit_polynomial_bayes(x,t,M,alpha, beta)
- for i in range(len(x)):
- predict_polynomial_bayes(x[i], Mn, Sn, beta)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement