多变量线性回归

之前讨论的都是单变量的情况。例如房价与房屋面积之前的关系,但是实际上,房价除了房屋面积之外,还要房间数,楼层等因素相关。那么此时就变成了一个多变量线性回归的问题。在实际问题中,多变量的线性回归问题是更加常见的。

下面这个例子就是表明了我上面所说的情况。

之前的单变量线性回归的问题,最后求解得到的是一个线性方程。那么在多变量线性回归中,得到的是:

其中X,theta都是一个n阶向量。那么最后的表示方式就变为了:

h 是theta的转置与X的乘积。

多变量梯度下降

和单变量的线性回归方程一样,我们同样会存在一个多变量的线性回归方程。同时也存在一个对应的代价函数。下面就是一个多变量的代价函数。

代价函数的求法同样是根据梯度下降的方式来进行求解。

下面这张图的足有两个公式分别显示了不同的情况,左右是一个最基础的情况,只有两个参数。而右边就是常见的多变量的梯度下降的函数。

相信上面这两张图已经将区别和联系表现出来了。

梯度下降算法实践1——特征缩放

在多变量的梯度下降算法中,如果多个变量能够在同一个或者是相近的区间范围内,这样就很方便问题的求解。当然前提是知道多变量的实际的取值范围。

在房屋的例子中,假设我们是研究房价与房屋大小和房屋房间数量的关系。同时我们知道房屋大小和房间数量间的关系,如房屋大小是位于0-2000英寸,房间数量是1-5。那么我们最后得到的轮廓函数为:

但是如果我们将所有参数x1和x2都的取值都进行标准化,例如集中到[0,1]之间,那么最后轮廓函数变为:

标准化算法也有很多,最简单的方式是:

梯度下降算法实践2——学习率

梯度下降算法的特征缩放考虑的是将变量进行标准化,而学习率考虑的是学习率的大小问题。之前就讨论过,如果学习率过大,则可能无法收敛。如果学习率较小,则迭代次次数过大。

正常的情况下,一般是通过绘制迭代次数和代价函数的图表来观测合适收敛,如下:

也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如 0.001)

进行比较,但通常看上面这样的图表更好。

通过图表观察,需要注意的问题是,迭代的次数收到学习率a的影响。

一般情况,学习率的选择如下:

0.01,0.03,0.1,0.3,1,3,10

总结

本次的课程,还是比较简单易懂的,都是理论上面的问题,也无须编程实现。

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

Andrew Ng机器学习算法入门((六):多变量线性回归方程求解的更多相关文章

  1. Andrew Ng机器学习算法入门(一):简介

    简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...

  2. Andrew Ng机器学习算法入门(二):机器学习分类

    机器学习的定义 Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being ex ...

  3. Andrew Ng机器学习算法入门(九):逻辑回归

    逻辑回归 先前所讲的线性回归主要是一个预测问题,根据已知的数据去预测接下来的情况.线性回归中的房价的例子就很好地说明了这个问题. 然后在现实世界中,很多问题不是预测问题而是一个分类问题. 如邮件是否为 ...

  4. Andrew Ng机器学习算法入门(八):正规方程

    正规方程 在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法. 假设存在如果的代价函数, ,解法也十分的简答. 但是有时候遇到的情况或许会变得相当的复杂. 的数,如果是按照常规的方式进行 ...

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

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

  6. Andrew Ng机器学习算法入门(十):过拟合问题解决方法

    在使用机器学习对训练数据进行学习和分类的时候,会出现欠拟合和过拟合的问题.那么什么是欠拟合和过拟合问题呢?

  7. Andrew Ng机器学习算法入门((七):特征选择和多项式回归

    特征选择 还是回归到房价的问题.在最开始的问题中,我们假设房价与房屋面积有关,那么最开始对房价预测的时候,回归方程可能如下所示: 其中frontage表示的房子的长,depth表示的是房子的宽. 但长 ...

  8. Andrew Ng机器学习算法入门(四):阶梯下降算法

    梯度降级算法简介 之前如果需要求出最佳的线性回归模型,就需要求出代价函数的最小值.在上一篇文章中,求解的问题比较简单,只有一个简单的参数.梯度降级算法就可以用来求出代价函数最小值. 梯度降级算法的在维 ...

  9. Andrew Ng机器学习算法入门((五):矩阵和向量

    矩阵定义 数学上,一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列 使用Aij来获取矩阵中第i行j列的数据 向量的定义 向量就是n行1列的特殊矩阵 由于向量仅仅只有1行,那么通过一个变量i来指定获 ...

随机推荐

  1. C# 应用 - 封装类访问 Oracle 数据库

    1. 引入库类 Oracle.ManagedDataAccess.dll using Oracle.ManagedDataAccess.Client; 2. 粗暴封装 namespace xx { p ...

  2. WPF 基础 - Trigger

    1. Trigger 1.1 由属性值触发的 Trigger 最基本的触发器,Property 是关注的属性名称,value 是触发条件,一旦触发条件满足,就会应用 Trigger 的 Setters ...

  3. 【译】Rust宏:教程与示例(二)

    原文标题:Macros in Rust: A tutorial with examples 原文链接:https://blog.logrocket.com/macros-in-rust-a-tutor ...

  4. python基础学习之类的属性 增删改查

    类中的属性如何在类外部使用代码进行增删改查呢 增加.改变: setattr内置函数以及 __setattr__魔法方法 class A: aaa = '疏楼龙宿' a = A() setattr(a, ...

  5. 07、列表list

    列表(list) 是一个有序且可变的容器,在里面可以存放多个不同类型的元素 list = ['阿斯顿','阿发师','收发室'] list = [98,88,66,-1] list = [1,True ...

  6. TypeScript 入门自学笔记(一)

    码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14542005.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...

  7. IPFS是什么?IPFS与Filecoin有什么关系?

    Filecoin 基于 IPFS 的去中心化存储网络,是 IPFS 上唯一的激励层,是一个基于区块链技术发行的通证.Filecoin 翻译过来就是文件币,简称为 FIL. 在 FIlecoin 网络中 ...

  8. Java基础知识-简明阐述双亲委派机制及作用

    1.双亲委派机制及作用 1.1 什么是双亲委派机制 当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类 ...

  9. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)

    前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...

  10. 面试高频题:说一说对Spring和SpringMvc父子容器的理解?

    引言 以前写了几篇关于SpringBoot的文章<面试高频题:springBoot自动装配的原理你能说出来吗>.<保姆级教程,手把手教你实现一个SpringBoot的starter& ...