zoukankan      html  css  js  c++  java
  • 吴恩达《机器学习》章节2单变量线性回归

    1、模型描述

    给定一组数据,如房屋的面积及其价格,根据给定的数据假设出一个模型,然后用来估计给定面积的房屋的价格。

    m:训练样本的数量

    x's:输入变量/特征

    y's:输出变量/目标变量

    (x,y):训练样本

    (xi,yi):第i个训练样本,i表示样本中的第i行

    h(θ)=θ01x ; 是一个线性函数,类似于y=ax+b;单变量线性回归:即只有一个变量(特征)

    h是一个假设函数(由x→y的映射)其作用是预测y是关于x的线性函数;x:特征/输入变量

    2、代价函数

     损失函数(Loss/Error Function):计算单个训练集的误差

     代价函数(Cost Function):计算整个训练集所有损失函数之和的平均值

     代价函数又叫平方误差函数或平方误差代价函数

     代价函数为:

     目标函数为:

     

    为了直观理解代价函数到底是在做什么,先假设θ0=0,并假设训练集有三个数据,分别为(1,1),(2,2),(3,3)这样在平面坐标系中绘制出hθ(x),并分析J(θ0,θ1的变化。

    上图中右侧J(θ0,θ1随着θ1的变化而变化,可见当θ1=1时,J(θ0,θ1)= 0,取得最小值,对应于左图青色直线,即函数h拟合程度最好的情况。

    代价函数-直观理解

    注:该部分由于涉及到了多变量成像,可能较难理解,要求只需要理解上节内容即可,该节如果不能较好理解可跳过。

    给定数据集:

    参数在θ0不恒为0时代价函数J(θ)关于θ0,θ1的3-D图像,图像中的高度为代价函数的值。

    由于3-D图形不便于标注,所以将3-D图形转换为轮廓图(contour plot),下面用轮廓图(下图中的右图)来作直观理解,其中相同颜色的一个圈代表着同一高度(同一J(θ)值)。

     θ0=360,θ1=0时:

    大概在θ0=0.12,θ1=250时:

    上图中最中心的点(红点),近乎为图像中的最低点,也即代价函数的最小值,此时对应  对数据的拟合情况如左图所示,嗯,一看就拟合的很不错,预测应该比较精准啦。

    3、梯度下降

     让计算机自动找出最小化代价函数时对应的θ值;

     思想:开始的时候,随便选择一个参数组合(θ0,θ1,θ2......θn),即起始点,计算代价函数。然后寻找下一个能使得代价函数下降最多的   参数组合,不懂迭代,直到找到一个局部最小值。由于下降的情况只考虑当前参数组合周围的情况,所以无法确定当前的局部最小值是否就   是全局最小值。不同的参数组合,可能会产生不同的局部最优值。如下图所示。

    梯度下降算法:(要同时更新θ的值)

     

     :=是赋值的意思

     α:学习速率,是一个大于0的数,α的取值很重要

      α过小:收敛的太慢,需要多次迭代

      α过大:可能越过最低点,甚至导致无法收敛

    学习速率只需选定即可,不需要在运行梯度下降算法的时候进行动态改变,随着斜率越来越接近于0,代价函数的变化幅度会越来越小,直到收敛到局部极小值。

    4、线性回归的梯度下降

      只需要将代价函数带入梯度下降算法中即可。

     

  • 相关阅读:
    APP开发的模式
    微信小程序的传值方式
    面试题总结
    github上传文件的步骤
    python使用笔记15--操作Excel
    python使用笔记14--商品管理小练习
    python使用笔记13--清理日志小练习
    python使用笔记12--操作mysql数据库
    python使用笔记11--时间模块
    python使用笔记10--os,sy模块
  • 原文地址:https://www.cnblogs.com/tanxu05/p/10567729.html
Copyright © 2011-2022 走看看