文章目录

  • 房价预测案例
  • 有监督学习算法的工作原理
  • 代价函数
  • 代价函数实例(一个参数的情况)
  • 代价函数实例(两个参数的情况)
  • 梯度下降法—最小化代价函数
  • 问题描述及梯度下降思路
  • 工作原理可视化
  • 数学原理
  • 梯度下降法应用于线性回归模型


房价预测案例

继续上一章节有监督学习算法的房价预测案例。

案例描述:有包含房子的大小和价格信息的真实数据(散点图)如下。我们要学习一个房价预测算法,在给定房屋大小后,可以相对准确估计其出售价格。

基于LightGBM的回归任务分析_基于LightGBM的回归任务分析


训练集及相关描述

基于LightGBM的回归任务分析_有监督学习_02 训练集样本数

基于LightGBM的回归任务分析_有监督学习_03 输入变量/特征(大部分时间是向量基于LightGBM的回归任务分析_代价函数_04

基于LightGBM的回归任务分析_机器学习_05 输出变量/目标变量

基于LightGBM的回归任务分析_机器学习_06


其中,基于LightGBM的回归任务分析_机器学习_07表示第 基于LightGBM的回归任务分析_工作原理_08个训练样本,基于LightGBM的回归任务分析_工作原理_08是索引,代表训练集中第基于LightGBM的回归任务分析_工作原理_08行。

例如:基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_11

有监督学习算法的工作原理

我们向学习算法提供训练集,学习算法会输出一个函数基于LightGBM的回归任务分析_代价函数_12(hypothesis假设函数),函数基于LightGBM的回归任务分析_代价函数_12将房子的大小基于LightGBM的回归任务分析_有监督学习_14作为输入变量,输出房价的预测值基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_15

基于LightGBM的回归任务分析_代价函数_16


How do we represent h?

先从最简单的入手:线性函数

此时,假设函数为:基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_17其中,基于LightGBM的回归任务分析_工作原理_18 是模型参数(parameter),如下图,选择不同的参数,我们可以得到不同的模型。

基于LightGBM的回归任务分析_机器学习_19

我们的目标是,找到合适的基于LightGBM的回归任务分析_工作原理_18值,使得假设函数表示的直线尽可能好的跟训练集数据点拟合。

基于LightGBM的回归任务分析_工作原理_21


也就是说,我们要选择合适的基于LightGBM的回归任务分析_工作原理_18,使得预测值基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_15尽可能的接近实际值基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_24。为了度量“接近”,引出了代价函数。

代价函数

回归常用平方误差代价函数(当然也可以使用其他的代价函数)
目标函数为基于LightGBM的回归任务分析_工作原理_25我们要找到合适的基于LightGBM的回归任务分析_工作原理_18,满足上述最小化要求。
定义代价函数基于LightGBM的回归任务分析_代价函数_27因此,目标函数可以简写成基于LightGBM的回归任务分析_机器学习_28

代价函数实例(一个参数的情况)

为便于可视化代价函数,暂且将假设函数简化为图右所示,其中基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_29

基于LightGBM的回归任务分析_有监督学习_30


假设真实的函数关系为基于LightGBM的回归任务分析_有监督学习_31 尝试不同的基于LightGBM的回归任务分析_机器学习_32绘制代价函数基于LightGBM的回归任务分析_工作原理_33的图像。

  • 基于LightGBM的回归任务分析_机器学习_34时,进行相关计算。
  • 基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_35时,进行相关计算。
  • 基于LightGBM的回归任务分析_代价函数_36时,进行相关计算。

    …重复上述步骤,五点法作图,得到基于LightGBM的回归任务分析_工作原理_37的图像,如下图所示:

    学习算法的优化目标,就是选取合适的基于LightGBM的回归任务分析_代价函数_38,使基于LightGBM的回归任务分析_工作原理_37达到最小(显然此处应该选择基于LightGBM的回归任务分析_机器学习_34
代价函数实例(两个参数的情况)

基于LightGBM的回归任务分析_机器学习_41


尝试绘制代价函数基于LightGBM的回归任务分析_工作原理_33的图像。(省略过程)

基于LightGBM的回归任务分析_工作原理_43


这是一个3D曲面图,平面两轴分别为基于LightGBM的回归任务分析_工作原理_18,竖轴的高度就是基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_45的值。

方便起见,我们使用等高线图(同心椭圆)替代曲面图,如下图所示。

基于LightGBM的回归任务分析_有监督学习_46


在同颜色线上的点,虽然基于LightGBM的回归任务分析_工作原理_18的取值各不相同,但基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_45值相同。

同心椭圆的中心点,就是基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_45取最小值的位置。

假设函数及对应代价函数示例:

基于LightGBM的回归任务分析_有监督学习_50


基于LightGBM的回归任务分析_机器学习_51


基于LightGBM的回归任务分析_代价函数_52


通过以上图像,我们可以更好地理解代价函数基于LightGBM的回归任务分析_机器学习_53的意义,如何对应不同的假设函数,以及越接近代价函数最小值的点对应着更好的假设函数。

含更多参数的情况无法进行可视化。

梯度下降法—最小化代价函数

如何找到最小化的代价函数呢?梯度下降是常用的方法之一。

问题描述及梯度下降思路

基于LightGBM的回归任务分析_工作原理_54

工作原理可视化

基于LightGBM的回归任务分析_工作原理_55


特点:起始点偏移可能导致得到一个完全不同的局部最优解。

基于LightGBM的回归任务分析_工作原理_56

数学原理

基于LightGBM的回归任务分析_代价函数_57


其中基于LightGBM的回归任务分析_有监督学习_58为赋值运算符;基于LightGBM的回归任务分析_工作原理_59为学习率(学习速率),指定步长;基于LightGBM的回归任务分析_机器学习_60为导数项,指定方向;保证基于LightGBM的回归任务分析_工作原理_18同步更新(图片左下角)。导数项的意义

指定移动的方向。导数(梯度)方向是函数值上升最快方向,因此其反方向就是函数值下降之最快方向。

基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_62


学习速率的意义

指定步长。

如果学习速率过小,梯度下降的很慢,很多步才能到达全局最低点。

如果学习速率过大,梯度下降可能越过最低点,甚至可能无法收敛或者发散。

基于LightGBM的回归任务分析_代价函数_63


保持学习率α不变,梯度下降法可以收敛到局部最低点的原因

当我们接近局部最小点时,梯度下降法会自动采用更小的幅度,因为根据定义,在局部最低时导数等于零,所以当我们接近局部最低时,导数项的值会自动变得越来越小,所以梯度下降自动采取较小的幅度。

基于LightGBM的回归任务分析_工作原理_64

梯度下降法应用于线性回归模型

基于LightGBM的回归任务分析_机器学习_65


基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_45分别对基于LightGBM的回归任务分析_工作原理_18求偏导:

基于LightGBM的回归任务分析_机器学习_68


线性回归模型的代价函数为凸函数,没有局部最优解,有唯一全局最优解。

基于LightGBM的回归任务分析_机器学习_69


Batch指每次计算偏导数,都用到全部的训练集数据。

基于LightGBM的回归任务分析_基于LightGBM的回归任务分析_70