人工智能-线性回归1--损失函数、正规方程、梯度下降法

1,线性回归简介

线性回归分类:线性关系,非线性关系

2,线性回归API初步使用

from sklearn.linear_model import LinearRegression
#1,获取数据
x = [[80,86],
[70,86],
[85,86],
[80,66],
[80,76],
[90,86],
[80,82],
[70,76]]
y = [84,83,85,80,90,83,87,79,88]
#2,模型训练
#2.1 实例化一个估计器
estimator = LinearRegression()
#2.2 使用fit进行训练
estimator.fit(x,y)
# 打印回归系数
print('线性回归的系数是:\n',estimator.coef_)
#打印预测结果
print('预测结果是:\n',estimator.predict([[100,80]]))

3,求导

向量求导
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第1张图片

4,线性回归的损失和优化

损失函数 :估计值与真实值的差平方和
如何使损失函数最小:正规方程、梯度下降

4.1 正规方程

在这里插入图片描述
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第2张图片
推导方式1:
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第3张图片
X是一个普通的矩阵,不一定有逆,方阵一定有逆,所以右乘X的转置

推导方式2:
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第4张图片
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第5张图片

4.2 梯度下降法

在单变量的函数中,梯度是函数的微分,代表着函数在某个给定点的切线的斜率。
在多变量的函数中,梯度是一个向量,有方向,梯度的方向指出了函数在给定点的上升最快的方向
人工智能-线性回归1--损失函数、正规方程、梯度下降法_第6张图片
a是学习率,即步长。(步长太小–下山太慢;步长太大–容易跳过极小值)

算法选择:

  • 小规模数据–正规方程or 岭回归
  • 大规模数据 – 梯度下降法(算法复杂度)

5,梯度下降法方法介绍

特征:指样本中输入部分

种类:

  • 全梯度下降算法FGD
    更新时使用所有样本进行更新,计算训练集的所有样本误差,对其求和再取平均值作为目标函数。特点:速度慢
    在这里插入图片描述
  • 随机梯度下降算法SGD
    每次只代入计算一个样本目标函数的梯度来更新权重,再取下一个样本重复此过程,直到损失函数值停止下降或者损失函数值小于某个可以容忍的阈值。
    特点:容易遇上噪声样本,从而陷入局部最优解
    在这里插入图片描述
  • 小批量梯度下降算法mini-batch
    每次从训练样本上随机抽取一个小样本集,在抽出的小样本集上采用FG迭代更新权重
    在这里插入图片描述
  • 随机平均梯度下降算法(SAG)

6,线性回归api再介绍

人工智能-线性回归1--损失函数、正规方程、梯度下降法_第7张图片
总结:

  • 正规方程–sklearn.linear_model.LinearRegression()
  • 梯度下降法–sklearn.linear_model.SGDRegressor()

y = kx+b k—回归系数 ,b–偏置

你可能感兴趣的:(人工智能,人工智能,线性回归)