• Andrew Ng机器学习算法入门(三):线性回归算法


    线性回归

    线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。
    线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据,如下图所示:

    在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价。

    线性回归模型

    通过线性回归构造出来的函数一般称之为了线性回归模型。线性回归模型的函数一般写作为:

    使用markdown不好描述数学公式,所以大家就讲究看吧

    代价函数

    通过线性回归算法,我们可能会得到很多的线性回归模型,但是不同的模型对于数据的拟合或者是描述能力是不一样的。我们的目的最终是需要找到一个能够最精确地描述数据之间关系的线性回归模型。这是就需要用到代价函数。代价函数就是用来描述线性回归模型与正式数据之前的差异。如果完全没有差异,则说明此线性回归模型完全描述数据之前的关系。如果需要找到最佳拟合的线性回归模型,就需要使得对应的代价函数最小,下面是相关的公式描述

    • Hypothesis,表示的就是线性回归模型
    • Cost Function,代价函数
    • Goal,就是要求对应的代价函数最小

    线性回归模型求解-1

    假设在线性回归模型中仅仅只存在一个函数,就是斜率参数。即theta-0是0。
    如果存在如下的数据:

    图中对应的3个点分别为(1,1),(2,2),(3,3)
    那么很明显,最佳线性回归模型就是h(x)=x
    如果通过实验证明呢?
    我们画出在theta-1处于不同值的代价函数。

    通过代价函数的的图形,也可以发现当theta-1为1的时候,代价函数所对应的值最小。
    所以最佳你和函数为h(x)=x
    PS:这种题目在高中数学中很常见

    线性回归模型求解-2

    上面讨论的是一个参数的问题,接下来讨论的是两个参数的问题。
    如果存在如下的数据:

    这样可以看到最后的线性回归模型就会存在两个参数。最后的代价函数图形为:

    是一个3D函数,不是很好求解,但是可以转化为一个轮廓图,如下:

    两个轴分别表示 θ0 和 θ1 而这些一圈一圈的椭圆形 每一个圈就表示 J(θ0,θ1) 相同的所有点的集合。
    最后通过测试发现(就是手动地选择θ0 和 θ1来计算代价函数),发现当选择的点位于最里面的椭圆的中心的时候,代价函数的值最小。那么选取的点就可以作为最佳的线性回归模型。
    当然这只是手动地方式来进行测试的,最好的方法当然是通过机器学习算出这个最佳的线性模型。

    总结

    线性回归模型还是比较简单的,也比较容易理解。

    为了了能到远方,脚下的每一步都不能少。

  • 相关阅读:
    Elasticsearch调优记录
    Mysql添加索引
    hashCode() 与 equals()
    前端解决因为浮动,父级边框塌陷问题
    ThreadPoolExecutor线程池的maximumPoolSize如何设置
    Java8的流式计算对比普通计算
    npm 安装淘宝镜像
    微信支付分创建支付分订单+签名+验签
    刚更新完版本就炸了:java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream
    Java过滤:一个新集合往老集合中插入,过滤出老集合中没有的元素
  • 原文地址:https://www.cnblogs.com/babers/p/6727933.html
Copyright © 2020-2023  润新知