解说:线性回归模型中训练模型的方法如下:
-
通过“闭式”方程,直接计算出最拟合训练集的模型参数(也就是使训练集上的成本函数最小化的模型参数)。
-
使用迭代优化的方法,即梯度下降(GD),逐渐调整模型参数直至训练集上的成本函数调至最低,最终趋同于第一种方法计算出现的模型参数。
多项式回归模型,更适合非线性数据集。由于该模型的参数比线性模型更多,因此更容易造成对训练数据过拟合,我们将学习曲线来分辨这种情况是否发生。最后分类任务的模型分为Logistic回归和Softmax回归。
一、线性回归
1. 回归模型
公式1.1:线性回归模型预测
=
+
+
+....+
在此等式中:
是预测值
是特征数量
是第i个特征值
是第j个模型参数(包括偏差项
和特征权重
,
,.....,
)
公式1.2:线性回归模型预测(向量化形式)
=
=
·
在此等式中:
是模型的参数向量,其中包含偏差项
0和特征权重
1至
n
是实例的特征向量,包含从
到
,
始终等于1
·
是向量
和
的点积,它当然等于
+
+...+
是假设函数,使用模型参数
2.标准方程
公式:
=
是使成本函数最小的
值
是包含
到
的目标向量
生成一些线性数据来预测这个公式:
import numpy as np
X = 2 * np.random.rand(100,1)
y = 4 + 3 * X + np.random.randn(100,1)
使用Scikit-Learn执行线性回归很简单:
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X,y)
lin_reg.intercept_,lin_reg.coef_
lin_reg.predict(X_new)
三、线性回归
,
...是需要利用的特征(数据),y是需要最终得到的结果(标签)
=
拟合的平面:
(是偏置项,微调;
、
是权重项)
整合:
二、线性回归误差:真实值和预测值之间肯定是要存在差异的(用
来表示该误差)
1.对于每个样本:
解析:
:相当于真实值
:相当于预测值
:误差项
误差是独立并且具有相同的分布,并且服从均值为0方差和
的高斯分布
独立:张三和里斯一起来贷款,他俩没关系
同分布:他俩都来得是我们假定的这家银行
高斯分布:银行可能会多给,也可能会少给,但绝大多数请款下这个幅度不会太大,极小情况下浮动会比较大,符合正常情况
预测值与误差:
误差服从高斯分布
似然函数:什么样的参数跟我们的数据组合后恰好是真实值,让似然函数(对数变换后也一样)越大越好
对数似然:乘法难解,假发就容易了,对数里面的乘法可以转换成加法
最小二乘法越小越好
偏导等于0:
2.梯度下降
目标函数:
下山分几步走呢?(更新参数)
(1)找到当前最合适的方向
(2)走那么一小步,走快了该“跌倒”了
(3)按照方向与步伐去更新我们的参数
学习率(步长):对结果会产生巨大的影响,一般小一些