You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

linear_regression.py 1.4 kB

6 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import sklearn
  4. from sklearn import datasets
  5. # load data
  6. d = datasets.load_diabetes()
  7. X = d.data[:, 2]
  8. Y = d.target
  9. # draw original data
  10. plt.scatter(X, Y)
  11. plt.show()
  12. ###############################################################################
  13. # Least squares
  14. ###############################################################################
  15. # L = \sum_{i=1, N} (y_i - a*x_i - b)^2
  16. N = X.shape[0]
  17. S_X2 = np.sum(X*X)
  18. S_X = np.sum(X)
  19. S_XY = np.sum(X*Y)
  20. S_Y = np.sum(Y)
  21. A1 = np.array([[S_X2, S_X], [S_X, N]])
  22. B1 = np.array([S_XY, S_Y])
  23. coeff = np.linalg.inv(A1).dot(B1)
  24. x_min = np.min(X)
  25. x_max = np.max(X)
  26. y_min = coeff[0] * x_min + coeff[1]
  27. y_max = coeff[0] * x_max + coeff[1]
  28. plt.scatter(X, Y)
  29. plt.plot([x_min, x_max], [y_min, y_max], 'r')
  30. plt.show()
  31. ###############################################################################
  32. # Linear regression
  33. ###############################################################################
  34. # the loss function
  35. # L = \sum_{i=1, N} (y_i - a*x_i - b)^2
  36. n_train = 1000
  37. a, b = 1, 1
  38. epsilon = 0.001
  39. for i in range(n_train):
  40. for j in range(N):
  41. a = a + epsilon*2*(Y[j] - a*X[j] - b)*X[j]
  42. b = b + epsilon*2*(Y[j] - a*X[j] - b)
  43. L = 0
  44. for j in range(N):
  45. L = L + (Y[j]-a*X[j]-b)**2
  46. print("epoch %4d: loss = %f" % (i, L))

机器学习越来越多应用到飞行器、机器人等领域,其目的是利用计算机实现类似人类的智能,从而实现装备的智能化与无人化。本课程旨在引导学生掌握机器学习的基本知识、典型方法与技术,通过具体的应用案例激发学生对该学科的兴趣,鼓励学生能够从人工智能的角度来分析、解决飞行器、机器人所面临的问题和挑战。本课程主要内容包括Python编程基础,机器学习模型,无监督学习、监督学习、深度学习基础知识与实现,并学习如何利用机器学习解决实际问题,从而全面提升自我的《综合能力》。

Contributors (1)