斯坦福大学机器学习学习笔记(二)

监督学习应用与梯度下降


分类问题:离散变量

回归问题:连续变量


回归方法

问题

有一个房屋销售的数据:


斯坦福大学机器学习学习笔记(二)_第1张图片
image.png

是否可以根据这样的数据预测未来的房价?
plot:


斯坦福大学机器学习学习笔记(二)_第2张图片
image.png

m:训练样本数目
x:输入变量(特征)
y:输出变量(目标变量)
(x,y):样本
i(th):第i个训练样本
(x(i),y(i)):训练样本中的第i行,第i列

监督学习过程(模型)

1、先找到一个训练集合(training set)
2、传给一个学习算法(Learning algorithm)
3、产生一个输出函数(h),称之为假设
4、向h传入一个输入特征x,。得到映射的一个y。


斯坦福大学机器学习学习笔记(二)_第3张图片
image.png

线性回归

线性回归假设特征和结果满足线性关系。

用x1,x2,...xn描述特征里面的分量。
x1:表示房间的面积
x2:表示房间的数量
根据以上,可以得到一个估计函数:


image.png

令x0=1,向量表示即


image.png

Theta's are called parameters.

该怎样来选取theta的值,来让假设h对所有房屋做出准确的预测呢?

在给定的训练集合里区域训练得出h,在训练数据上尽可能准确。

给定一些特征x,以及一些正确的价格y,希望取得预测和实际价格的平方差尽可能的小。

为了以上,用预测值减去实际值,得到一个better的结果,。


斯坦福大学机器学习学习笔记(二)_第4张图片
image.png

该函数是对x(i)的估计值与真实值y(i)差的平方和,1/2
是为了在求导时方便计算。

调整theta使得j(theta)取得最小值。则该问题归结为求极小值问题。
可用的方法:最小平方回归、最小二乘。

梯度下降法(下山速度最快问题)

(上学期的工程优化刚学过。。。)
1、先对theta随机赋值,也可以是0向量。
2、改变theta的值,使得j(theta)按梯度下降的方向进行减少。


斯坦福大学机器学习学习笔记(二)_第5张图片
image.png

梯度方向由j(theta)对jtheta的偏导数确定,由于求的是极小值,因此梯度方向是偏导数的反方向。
结果为:


image.png

矩阵计算:


image.png

迭代更新的方式有 两种,一种是批梯度下降,也就是对全部的训练数据求得误差后再对theta进行更新,另外一种是增量梯度下降,每扫描一步都要对theta进行更新。前一种能够不断收敛,后一种方法结果可能不断在收敛处徘徊。
一般来说,梯度下降法收敛速度还是比较慢的,。
另一种直接计算结果的方法是最小二乘法。

你可能感兴趣的:(斯坦福大学机器学习学习笔记(二))