first week of machine learning on Coursera

本文介绍了机器学习中线性回归的基本概念和应用,详细讲解了如何利用梯度下降法来最小化代价函数,实现参数的最优估计,并探讨了Matlab/octave在算法原型实现中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

first week of machine learning on Coursera

@(Coursera)
惯例是,先在Matlab/octava上实现算法原型,确定可用再迁移到其他编译环境。因为Matlab/octava集成了很多机器学习算法和常用的计算,对于算法实现速度很快,而且代码比较简单。


平方误差函数是解决回归问题最常用的代价函数(cost function)。
我们的目的是使我们作出的假设函数hypothesis function最接近于实际的训练集样本点集(x,y),假设函数用h(θ)=θ1x+θ0表示衡量假设函数拟合训练样本的情况是通过代价函数来衡量的,代价函数用J(θ)来表示,J(θ)θ1θ0的函数。
所以我们的目的就是找到一组θ1θ0,使得J(θ)的值最小。
我们使用梯度下降法来寻找θ1θ0的值。
梯度下降法的直观描述就是,当人在山顶,每次迈出一步长α,他可以选择任意方向来下山,但是需要以最短时间下山。那么肯定选择和自身位置等高线垂直的方向下山,此时正好是梯度下降的方向。

θj=θjαJ(θ0,θ1)θj(forj=0andj=1)

这里的α代表学习速率,也就是下山时的步长。
temp0:=θ0αJ(θ0,θ1)θ0
temp1:=θ1αJ(θ0,θ1)θ1
θ0:=temp0
θ1:=temp1
通过梯度下降不断的更新θ0θ1,知道J(θ)收敛为止。如下图的J(θ)是个凸函数(Convex function)它收敛时为全局最小值。
步长太大可能会导致无法收敛:
![Alt text](./屏幕快照 2017-09-23 下午7.14.33.png)

线性模型时:
假设函数hθ(xi)=θ1x+θ0
成本函数cost function:J(θ0,θ1)=12mmi=1(hθ(xi)yi)2
这里为什么乘以12m系数呢,乘以1m是使用均方误差来衡量平方误差,这是数理统计中经常使用的方法;乘以12是因为后续对J(θ0,θ1)求导时会多出个2,用12来抵消,是式子看起来更简便。因为我们的目的就是求cost function最小化时的θ0θ1,前面乘以个系数并不影响。
此时,

θ0:θ0αddθ0J(θ0)=θ0α1mi=1m(hθ(xi)yi)

θ1:θ1αddθ1J(θ1)=θ1α1m(hθ(xi)yi)xi

Batch:表示步长,也称为学习速率,就是上式中的α.

Vector:an N*1 matrix
矩阵计算:
单位矩阵(Identity matrix):对角线元素为1,其余元素为0的方阵。

I=100010001

矩阵乘法:A×BB×A
除非:A×I=I×A
矩阵的逆,当矩阵是个方阵时,m×m,并且矩阵A存在逆矩阵,则满足
A×A1=A1×A=I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值