线性回归和梯度下降代码demo
程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE.zip 线性回归 决定系数越接近一那么预测效果越好 对于多元线性回归和一元线性回归推导理论是一致的,只不过参数是多个参数而已 梯度下降 梯度下降法存在局部最小值 太小迭代次数多,太大将无法迭代到最优质 梯度下降发容易到达局部最小值 凸函数使用局部下降法一定可以到全部最小值,所以不存在局部最小值才可以 下面两个demo是一元函数的拟合 1使用梯度下降法的数学公式进行的机器学习代码 1 import numpy as np 2 from matplotlib import pyplot as plt 3 #读取数据 4 data = np.genfromtxt( ' data.csv ' ,delimiter= ' , ' ) 5 x_data = data[:, 0 ] 6 y_data = data[:, 1 ] 7 #plt.scatter(x_data, y_data) 8 #plt.show() 9 lr = 0.0001 10 k = 0 11 b = 0 12 epochs = 500 13 def compute_loss(x_data, y_data, b, k