SGD:随机梯度下降在每次更新的时候,只考虑了一个样本点,这样会大大加快训练数据,也恰好是批梯度下降的缺点,因为不一定每次都朝着梯度下降的方向。
BGD:批量梯度下降每次更新都使用了所有的样本数据,朝着最小值迭代运动的,缺点就是速度很慢。
MBGD:综合批量梯度下降法和随机梯度下降法的优点。
线性回归
这里只是测试了一元线性回归,还有多元线性回归。
初始数据集是:y = 2 * x + 随机噪声
![4520c0b2aff1f1cf31771438aa9980e2.png](https://i-blog.csdnimg.cn/blog_migrate/d01c9a07e91317841ca15dda0e8a67bb.jpeg)
原始数据
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegression##### 产生数据集 #####x = np.arange(0,50)np.random.seed(1)#添加50个随机噪声,范围[-5,5]random_array=(np.random.random(50)*2-1)*5y = 2 * x + random_array#转换二维数组x=x.reshape(50,1)y=y.reshape(50,1)data=np.co