目录
一,引例: 房价问题
假设现在有一组有关房屋面积X与价格Y的数据,现在给定一个待出售的房屋,请问是否能给予估价?
房屋面积(m^2) | 出售价格(1000¥) |
2014 | 40 |
1416 | 232 |
1534 | 315 |
...... | ...... |
二,提出假设(Hypothesis)
该类由一些数据的特征(feature)推测出一个连续的目标值的问题就是监督学习中的回归问题(Regression Problem)。运用数学知识,我们可假设房屋面积与其出售价格之间存在某种函数关系,而事先拟定的函数关系在机器学习中就称为假设函数(hypothesis function)。回顾中学学过的一元线性函数,我们可以假设房屋面积与其出售价格之间呈线性: (公式2.1)
上述公式即可称为单变量线性回归(Linear regression with one variable)模型。当然,数据之间可能存在更加复杂的函数关系,本章只讨论线性函数假设。
由此假设可知,想要准确预测目标值就要找到合适的模型参数,使得该假设与实际规律尽量相符合,该过程称为拟合 (fiting)。在具体求解合适的参数前,需要建立评价体系,即给定任意的参数,如何判断其组成的假设函数与实际规律直接拟合的情况好坏?
三,损失函数(Cost Function)
损失函数即为评价给定的假设函数与实际规律之间拟合差异的函数。一般而言当两者拟合效果越好时,损失函数的值越小,反之越大。损失函数也有很多类型,在本例中,我们采用平方损失函数(quadratic loss function):
(公式2.2)
其中 为第 i 组样例(即表中第 i 行)中的房屋面积(特征)与出售价格(输出)。
当任意实例的估计值比实际值偏大或偏小时,两者差值的平方均会偏大,所有实例估计值与实际值之间的差值平方的平均值,再除以2即为损失函数的值(除2是为了使梯度的计算更简便)。当参数与实际规律越相接,损失函数的值越小,反之越大,可见该损失函数确实可以评判参数的好坏。
当确立损失函数以后,求解最优模型参数的问题就可以转变为寻找最优参数,使得损失函数最小的问题。
四,梯度下降法(gradient descent)
求解多元函数最值问题,可采用梯度下降法,具体步骤如下:
1. 任选初始参数,学习率 α。
2. 通过求偏导来对参数进行更新,公式如下:
(公式2.3.1)
(公式2.3.2)
3. 直到损失函数的值足够小,满足要求为止。
其中,学习率(learning rate)可理解为每次参数值具体的变化量大小,也叫做步长。
算法理论依据为:函数对某一变量的偏导数表明了随该变量变化而变化的情况。当偏导数为正时,函数随变量增大而增大;当偏导数为负时,函数随变量θ增大而减小。在梯度下降法的每次迭代中,参数都减去了学习率与其偏导数的乘积,当偏导数为正时,表明损失函数会随当前参数的增大而增大,于是减去令参数减小,即可使得损失函数减小,减小的量即是学习率α的倍数。同理,当偏导数为负时,表明损失函数会随当前参数的增大而减小,于是减去令参数增大,即可使得损失函数减小,减小的量即是学习率α的倍数。
同理当综上所述,参数的负偏导数指明了损失函数减小的方向,学习率α指明了参数变化的基本步长。每一次迭代中,损失函数的值必定减小,所以算法必定收敛。
需要注意的是,梯度下降法得出的结果并不一定是最优结果,由数学知识可知偏导数为0的点不一定可与取到最值,可能只是局部的极值。而每次运用梯度下降法得到的结果这与具体的模型,损失函数以及初始化参数有关。
五,构建机器学习模型
综上所述即可得出第一个机器学习算法:单变量线性回归算法。
由此也可得出给定数据的情况下,构建一个机器学习算法的流程为:
- 确立特征与输出。
- 分析数据特点,提出假设函数
- 确立损失函数
- 利用梯度下降法,找出最优的参数。
由此即可得出最优的假设函数,用于预测数值。
六,总结
本章主要讲了一下知识点:
- 提出了模型假设的概念,并介绍了单变量线性回归模型
- 提出了损失函数的概念,并介绍了均值损失函数
- 介绍了梯度下降法,并指出了其弊端。
- 总结了构建机器学习模型的流程