目录
一、模型表示(Model Representation)
以单变量房价预测为例
1.1 监督学习分类
- 回归问题:预测值连续(如通过房屋面积预测房价)
- 分类问题:预测值离散(如预测良性/恶性肿瘤)
1.2 课程中常用符号
m:样本数量
x:输入变量,也叫特征。通常是多维向量
y:输出变量,也叫目标变量。
(x,y):训练样本
: 第i个训练样本
1.3 监督学习的学习方式(以房价预测为例)
注:
a. 线性模型是最简单的监督学习模型,是后续其他模型的基础
b. 预测函数(假设) 是以的为参数的x的函数,简写做
二、代价函数(Cost Function)
2.1 问题(Task):
根据房屋面积(x)预测房屋价格y
2.2 解决步骤
step1: 选择模型(假设)
Hypothesis :
step2: 模型参数
Parameters: ,
step3: 目标(Goal)
选择 , 使得模型的预测值 与 实际目标值 y 最接近,用函数表示为:
注:
1、均方误差公式, 1/2是为了后续求解计算方便;
2、均方误差公式也适用于其他回归问题
step4:代价函数(Cost Function)
所以上述目标函数可以表示为
2.3 假设函数与代价函数的区别
中 固定,是关于x的函数
在训练集上,,固定,是 的参数
2.4 代价函数的直观理解
2.4.1 , 为过原点的直线,假设有3个样本(1,1),(2,2),(3,3):
在时取得最小值 0
2.4.2 均不为0
从右侧等值线图可以看出,500左右,代价函数取得最小值点
图 2.4.2.-1 代价函数图 图2.4.2-2 代价函数等值线图
三、梯度下降(Gradient Desent)
问题:
目标:求上述函数最小值
求解:
1、 赋初值
2、沿减小的方向改变 ,直到找到一个最小值(继续迭代不再发生变化)
repeat until covergence {
}
注:
1、为学习率,控制步长。学习率过小,则迭代过程常;学习率过大,则会造成无法收敛,甚至发散。
2、减号后面 学习率 与 偏导的乘积为步长,随着坡度越来越缓,步长越来越小
3、参数同步更新!!!(如果不同步更新的话,将会演变成其他算法。比如?TODO)
对线性函数,
4、梯度下降算法分为批量梯度下降(一次迭代使用全部样本)和随机梯度下降(一次迭代使用部分样本)
5、梯度下降可能会陷入局部最优,可以取不同的初始值多试几次。
6、GDT对凸函数有效果。其他函数可以通过正规方程(下一节)来解。
四、应用
4.1 梯度下降实践(matlab)
https://www.cnblogs.com/90zeng/p/linear_regression_implement.html
4.2 、线性回归实践(python)
sklearn:from sklearn.linear_model import LinearRegression