1. 梯度下降法分类

2. 几种降法下降算法特点

(1️⃣ 全梯度下降算法(Full Gradient Descent) :每次迭代时使用全部样本 的梯度值,但每次使用全部数据有弊端:速度太慢、效率低;
2️⃣ 随机梯度下降算法SGD :每次迭代时,随机选择并使用一个样本 梯度值;无法保证这个样本的梯度值没有问题,因此不稳定,但是有好处:当用到梯度下降算法时已经时机器学习的第四步 - 模型训练,在第二三步中数据预处理、特征工程中已经将数据处理过了,数据没有问题。因此为提高效率也可以使用随机梯度算法;
两者区别 :全梯度下降因为使用了所有的样本,数据更精准,但速度慢;随机梯度下降因为随机使用一个,速度快,但如果这个样本是异常值,则对最终结果会有影响;两者过多或过少;
3️⃣ 小批量梯度下降算法(mini-batch) :每次迭代时,随机选择并使用小批量的样本 梯度值从m个样本中,选择x个样本进行迭代(1<x<m);
因此:m=1时是随机梯度下降、x=t(1<x<m)时是小批量梯度下降、x=m时是全梯度下降;
4️⃣ 随机平均梯度下降算法SAG :每次迭代时,随机选择一个样本的梯度值和以往样本的梯度值的均值 。假设选择D样本,计算出的梯度是3;在选择一个G样本,算出的梯度是5,则列表值是[3, 5],然后计算列表中的梯度值均值4;假设又选择了D样本,梯度是3,与算出的梯度均值4一起,两者再求均值(为3.5) ;如果选择的不是D(如7),则将选择的样本加到样本列表中([3, 5, 7]),再一起求均值 得到5;
直到算法收敛。收敛即算法何时结束,两种情况:达到迭代次数、达到设定阈值;随机平均梯度下降算法特点是:开始时算出的值不准,经过大量训练到后期其精准度才会提升;不如选小批量梯度下降算法;因此梯度下降算法中使用最多的是小梯度下降算法;
5️⃣ 总结:全梯度是一次用所有,随机是一次一个,小批量是一次一批(1<t<m),随即平均梯度是抽样本,将梯度加到列表中,算列表均值;)
3. 梯度下降与正规方程对比
对比: 
① 损失函数是用来评估模型效果的,每个模型都有自己的损失函数:
线性回归的损失函数:(一元)通过计算误差和,值越小,线上拟合的点越多;(多元)最小二乘、均方误差、均方根误差、平均绝对误差);
KNN是使用准确率(accuary_score)来衡量的;
逻辑回归的损失函数:和线性回归的损失函数不同;
② 损失函数越小,评估效果越好,如何计算损失函数的最小值:
通用方法:梯度下降;
线性回归:正规方程和梯度下降法(正规方程:一步算出,但前提是要有逆;)