文章目录
代价函数
-
也称损失函数,衡量真实值与预测值之间差距,常用最小化损失函数来评估模型
-
代价函数对每个参数的偏导数就是梯度下降中提到的梯度
-
优化参数θ的过程常用梯度下降方法,J(θ)对θ1,θ1,θ2……求偏导
线性拟合函数
h ( θ ) = θ 0 + θ 1 x h(\theta) = \theta_0+\theta_1x h(θ)=θ0+θ1x
将h(θ)表示为矩阵乘法
h
(
θ
)
=
θ
0
+
θ
1
x
h
(
θ
)
=
[
1
x
0
1
x
1
]
.
[
θ
0
θ
1
]
h(\theta) = \theta_0+\theta_1x\\ h(\theta) = \left[ \begin{matrix} 1 & x_0\\ 1 & x_1 \end{matrix} \right] .\left[ \begin{matrix} \theta_0\\ \theta_1 \end{matrix} \right]
h(θ)=θ0+θ1xh(θ)=[11x0x1].[θ0θ1]
代价函数表达式
【注】代价函数除以2,是为了后面平方项求导方便
函数图像
- 拟合函数和代价函数图形
最小二乘法
原理
- 找到一组θi,使得误差平方和最小
- 适用于线性回归问题,线性指特征是线性,所以f(x)拟合函数可以是一次函数,二次函数,多项式函数,但特征必须是一次项。
本质
- 为原始输出向量b寻找一个距离最近的投影向量p
- 案例理解
梯度下降
- 迭代思想,每次一小步,同步更新特征θ0和θ1
- α > 0 是学习率,决定了每次向山下跑多少,当找到局部最优点,梯度下降结束
凸函数定义
- 也称弓型函数
- 没有局部最优,只有全局最优,所以使用线性回归总会收敛到全局最优
梯度下降流程
Batch 梯度下降算法
在每一步梯度下降计算过程中,都遍历所有训练数据集,并计算综合
特征缩放
使特征数值在较小的范围,方便计算也使得梯度下降更快收敛
梯度下降学习率α
选择合适的学习率(一般取小一点),能得到正确的结果
一般需要测试不同的α值,绘制曲线,然后选择一个能使得快速下降又正确的α值
特征和多项式回归
比如股票预测,就不合适用线性回归模型,或者二次函数模型,因为二次函数后面可能会一直升或者降,所以需要选择合适曲线进行多项式回归拟合
正规方程
- 求θ的另一种方法
求导列方程组:
实例讲解:
推导过程
-
利用了最小二乘法原理
-
补充一列全1的数据,将所有数据以矩阵方式表示
梯度下降与正规方程对比
梯度下降
- 需要选择学习率α
- 多次迭代
- 特征n很大时依然适用
- 适用于各种模型
正规方程
- 不需要选择参数
- 一次运算得出结果
- 需要计算逆矩阵,若n特别打,运算代价大
- 只适用于线性模型,不适合逻辑回归等其它模型