机器学习第二章-单变量线性回归

目录

一、模型表示(Model Representation)

1.1 监督学习分类

1.2 课程中常用符号

1.3 监督学习的学习方式(以房价预测为例)

二、代价函数(Cost Function)

2.1 问题(Task):

2.2 解决步骤

step1: 选择模型(假设)

step2: 模型参数

step3: 目标(Goal)

step4:代价函数(Cost Function)

2.3 假设函数与代价函数的区别

2.4 代价函数的直观理解

三、梯度下降(Gradient Desent)

四、应用


 

一、模型表示(Model Representation)

以单变量房价预测为例

1.1 监督学习分类

  • 回归问题:预测值连续(如通过房屋面积预测房价)
  • 分类问题:预测值离散(如预测良性/恶性肿瘤)

1.2 课程中常用符号

m:样本数量

x:输入变量,也叫特征。通常是多维向量

y:输出变量,也叫目标变量。

(x,y):训练样本

(x^{i}, y^{i})  : 第i个训练样本

1.3 监督学习的学习方式(以房价预测为例)

注:

a. 线性模型是最简单的监督学习模型,是后续其他模型的基础

b. 预测函数(假设)h_{\Theta }(x) 是以\vec{\theta }的为参数的x的函数,简写做h(x)

二、代价函数(Cost Function)

2.1 问题(Task):

根据房屋面积(x)预测房屋价格y

2.2 解决步骤

step1: 选择模型(假设)

Hypothesis  : h_{\theta }(x) = \theta _{0} + \theta _{1}\cdot x

step2: 模型参数

Parameters: \theta _{0}\theta _{1}

step3: 目标(Goal)

选择 \theta _{0}\theta _{1} 使得模型的预测值h_{\theta }(x) 与 实际目标值 y 最接近,用函数表示为:\mathop{minimize}\limits_{\theta _{0},\theta _{1}}\frac{1}{2\cdot m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)})-y^{(i)})^{2}

注:

1、均方误差公式, 1/2是为了后续求解计算方便;

2、均方误差公式也适用于其他回归问题

step4:代价函数(Cost Function)

J(\theta ) = \frac{1}{2\cdot m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)}) - y^{(i)})^{2} 所以上述目标函数可以表示为minimizeJ(\theta )

2.3 假设函数h_{\theta }(x)与代价函数J(\theta )的区别

h_{\theta }(x) 中 \theta固定,是关于x的函数

J(\theta ) 在训练集上,x^{(i)},y^{(i)}固定,是 \theta的参数

2.4 代价函数J(\theta )的直观理解

2.4.1 \theta _{0} = 0h_{\theta }(x) 为过原点的直线,假设有3个样本(1,1),(2,2),(3,3):

J(\theta ) = \frac{7}{3}\cdot (\theta_{1} -1)^{2} 在\theta _{1} = 1时取得最小值 0 

2.4.2 \theta _{0},\theta _{1}均不为0

从右侧等值线图可以看出,500左右,代价函数取得最小值点

             

图 2.4.2.-1 代价函数图                                                                                       图2.4.2-2 代价函数等值线图

三、梯度下降(Gradient Desent)

问题:J(\theta ) = \frac{1}{2\cdot m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)}) - y^{(i)})^{2}

目标:求上述函数最小值

求解:

1、 \theta _{0},\theta _{1}赋初值

2、沿J(\theta )减小的方向改变 \theta _{0},\theta _{1},直到找到一个最小值(继续迭代\theta _{0},\theta _{1}不再发生变化)

repeat until covergence {

\theta _{j} := \theta _{j} - \alpha \cdot \frac{\partial }{\partial \theta _{j}}J(\theta _{0}, \theta _{1}) (for j = 0,1)

}

注:

1、\alpha为学习率,控制步长。学习率过小,则迭代过程常;学习率过大,则会造成无法收敛,甚至发散。

2、减号后面 学习率 与 偏导的乘积为步长,随着坡度越来越缓,步长越来越小

3、参数同步更新!!!(如果不同步更新的话,将会演变成其他算法。比如?TODO)

temp0 := \theta _{0} - \alpha \cdot \frac{\partial }{\partial \theta _{0}}J(\theta _{0},\theta _{1})\\ \quad\quad temp1 := \theta _{1} - \alpha \cdot \frac{\partial }{\partial \theta _{1}}J(\theta _{0},\theta _{1})\\ \theta _{0} := temp0\\ \theta _{1} := temp1

对线性函数,

\frac{\partial }{\partial \theta _{0}}J(\theta _{0},\theta _{1}) :=\frac{1}{m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)})-y^{(i)})\\\frac{\partial }{\partial \theta _{1}}J(\theta _{0},\theta _{1}) :=\frac{1}{m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)})-y^{(i)})\cdot x^{(i)}

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

https://blog.csdn.net/qq_38120760/article/details/82355967

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值