斯坦福公开课《机器学习》笔记1——监督学习、线性回归
一、监督学习和无监督学习
1.监督学习(supervised learning)
监督学习,利用一些带标签的数据集对模型进行训练,获取最佳参数。
1)回归问题
主要用于连续型的输出,例如预测房价等,模型有线性回归,非线性回归等。
问题示例:预测房屋价格,房屋面积与房屋价格的数据
2)分类问题
主要用于离散型的输出,例如对产品的正反面评价,如逻辑回归等。
问题示例:有肿瘤数据预测肿瘤是良性还是恶性
分类问题又有单特征分类和多特征分类
2.无监督学习(unsupervised learning)
无监督学习,利用一些无标签的样本对模型直接进行自训练。
1)聚类问题
有一个数据集,判定该数据集包含几个不同的聚类。
二、线性回归
1.单变量线性回归(Linear regression with one variable)
1)假设函数(hypothesis function)
用x来表示输入变量(特征量),用y来表示输出变量(目标变量),即预测结果。则(x,y)来表示一个训练样本。
我们用函数h表示从x到y的函数映射,即为假设函数。
例如,可以预测y关于x的线性函数hθ(x)=θ0+θ1*x。
这个模型被称为线性回归(linear regression)模型,由于只有一个变量,又称作单变量线性回归。
2)代价函数(cost function)
用来衡量假设函数相对数据集的准确性。
1>均方误差(Mean squared error)
在线性回归中,最常用的是均方误差,具体就是预测值和实际值差的平方求和。
其中m为数据集中样本个数,1/2m只是方便计算。
3)目标(Goal)
寻找一条最佳拟合直线,其实就是最小化J(θ0,θ1)。
4)梯度下降(Gradient Descent)
为了最小化代价函数,可以使用梯度下降(Gradient Descent)这种算法,算法如下:
注意,两参数要同时更新。
α表示学习速率。如果α 太小的话,梯度下降到全局最低点会很慢。如果α太大,它会导致迈出很大一步,无法收敛,甚至发散。
微分项的作用:让梯度下降朝着正确方向进行。并且,每做一次梯度下降,新的导数会变小一点点,θ更新的幅度就会变小
梯度下降也可以收敛到局部最低点。
2.多元线性回归及多元线性回归的梯度下降(Multivariate Linear regression)
hθ(x)=θ0+θ1*x1+θ2*x2+θ3*x3+θ4*x4+θ5*x5
n表示特征变量个数,其中n=5。
令x0=1,则假设函数可以表示为θ转置乘以X。
损失函数,梯度下降如下:
损失函数化简如下:
3.梯度下降中的使用技巧
1)特征缩放(feature skill)
当有多个特征时,应确保这些特征处在一个相近的范围。
使循环数目更少,梯度下降更快收敛。
经验看来,特征的取值约束。如果一个特征在-1<=x<=1的范围,另一个最多在-3<=x<=3或-1/3<=x<=1/3是可以接受的。
方法:
1> 除以特征最大值
x/范围
2> 特征均一化(mean normaization)
(x-x均值)/范围
2)确定学习速率α
判断梯度下降是否已经收敛:
1> 自动收敛算法,J(θ)减小的值是否小于一个阈值ε
2> J(θ)相对于迭代次数的曲线图
注:
α过大会导致曲线上升或是波动不收敛。
可绘制J(θ)相对于迭代次数的曲线图,尝试α值为0.001,0.003,0.01,0.03,0.1,0.3,1……,直到找到一个值,不能再增大啦。
3)选择特征的方法
4.多项式回归(Polynomial Regression)
多项式回归是一种非线性回归,他包含多种特征,如果特征值域相差较大,特征的归一化就尤其重要了。
选择特征时,可以根据训练样本的整体趋势或反复测试选择最佳模型。
5. 正规方程法(Normal Equation)
1)求解θ最优值
一步求解θ最优值:
1> 数学微分求偏导
2> 正规方程法
这种方法不需要特征归一化。
2)梯度下降与正规方程法优缺点:
梯度下降:
优点:适用于特征数量较多的机器学习。
缺点:需要选择合适的学习率α而且需要多次迭代运算。
正规方程:
优点:不需要选择合适的学习率α和迭代运算。
缺点:当特征数量较多时,运算量较大,不适用。
当特征数目较小时,使用正规方程法。如n为100,1000,10000以内时。(因为正规方程法空间复杂有n*n,时间复杂有n^3)
当特征数目较大时,使用梯度下降法。如n为10^6时。
3)不可逆
不可逆情况还是很少见的。
但是出现时如何处理?
1> 存在冗余特征
2> 删除一些特征或使用正规化
4)向量矩阵计算实现
1>
hθ(x)=θTX
θT=[θ0,θ1,θ2,θ3,θ4,θ5……] (行向量)
X=[X0;X1;X2;X3;X4;X5……] (列向量)
2>
θ=θ-αδ
δ=1/m∑(hθ(x(i))-y(i))x(i)=1/m∑(θTX(i)-y(i))x(i)