一、Model Representation

还是以房价预测为例,一图胜千言:



h表示一个从xy的函数映射。

二、Cost Function

因为是单变量线性回归,所以假设函数是:

\[h_{\theta}(x)=\theta_0+\theta_1x
\]

所以接下来的问题是怎样确定参数\(\theta_0\)和\(\theta_1\)?

这两个参数会决定我们的模型预测值与训练集的实际数据的差距,这就是建模误差

那么在回归问题中,代价函数选择如下的平方误差函数比较合理:

\[J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2
\]

m是训练集的样本数目,\(x^{(i)}\)是每个房子的尺寸,\(y^{(i)}\)是实际价格。

只要寻找使得\(J(\theta_0,\theta_1)\)最小的参数即可。

之所以要除以2,主要是为了后续的梯度下降法求导时抵消平方的那个2。

三、Gradient Descent

为了求得代价函数的最小值,采用梯度下降法。

  • 用一个随机的参数组合计算\(J\)
  • 找到一个使得\(J\)下降最多的参数组合,更新参数,直到找到一个局部最优解

就像下山一样,每次都走一步,每次选择下降最快的方向直到局部最低。

在批量梯度下降算法(所有的训练样本都要用到)中,同步更新所有参数:



\(\alpha\)是学习率,表示每一步走多长。

如果\(\alpha\)太小,那么更新的过程就会很缓慢;如果\(\alpha\)太大,可能跳过最低点,导致发散。

当接近局部最优时,由于斜率会越来越小,所以每一步会自动走得很小,不需要减小学习率\(\alpha\)。

四、Gradient Descent For Linear Regression

对之前得回归模型应用梯度下降算法:

对\(J(\theta_0,\theta_1)\)求关于\(\theta_0\)、\(\theta_1\)的偏导数,带入参数更新公式,有:

#Week2 Linear Regression with One Variable的更多相关文章

  1. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  2. Stanford机器学习---第一讲. Linear Regression with one variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7691571 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  3. 机器学习笔记1——Linear Regression with One Variable

    Linear Regression with One Variable Model Representation Recall that in *regression problems*, we ar ...

  4. Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)

    一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...

  5. Ng第二课:单变量线性回归(Linear Regression with One Variable)

    二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 2.4  梯度下降 2.5  梯度下 ...

  6. 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)

    从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...

  7. MachineLearning ---- lesson 2 Linear Regression with One Variable

    Linear Regression with One Variable model Representation 以上篇博文中的房价预测为例,从图中依次来看,m表示训练集的大小,此处即房价样本数量:x ...

  8. 斯坦福第二课:单变量线性回归(Linear Regression with One Variable)

    二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 I 2.4  代价函数的直观理解 I ...

  9. 机器学习 (一) 单变量线性回归 Linear Regression with One Variable

    文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang的个人笔 ...

随机推荐

  1. spring使用jdbc

    对于其中的一些内容 @Repository(value="userDao") 该注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例. ...

  2. Java第十三天,内部类

    内部类 一.①成员内部类.②局部内部类(包含③匿名内部类) 1.内部类用外部类属性和方法的时候,可以随意进行访问. 2.外部类用内部类属性和方法的时候,需要通过内部类对象访问. 3.在编译成class ...

  3. C语言 文件操作(八)

    1.删除文件或目录 int remove(char * filename); [参数]filename为要删除的文件名,可以为一目录.如果参数filename 为一文件,则调用unlink()处理:若 ...

  4. Linux 磁盘管理篇,开机挂载

    设置开机挂载需要到 /etc/fstab 里设置 第一列:磁盘设备文件名或该设备的label 第二列:挂载点 第三列:磁盘分区文件系统 第四列:文件系统参数 第五列:能否被dump备份命令作用 第六列 ...

  5. 下载SVN项目代码

    1. 到SVN根目录右键选中SVN Checkout...

  6. 如何在云开发静态托管中使用Hugo

    如何在云开发静态托管中使用Hugo 介绍 hugo是一个用Go编写的静态站点生成器,由于具有丰富的主题资源和有比较丰富的主题资源和较好的生成速度. 云开发(CloudBase)是一款云端一体化的产品方 ...

  7. python 字节码死磕

    前言:  如果你跟我一样,对python的字节码感兴趣,想了解python的代码在内存中到底是怎么去运行的,那么你可以继续往下看,如果你是python新手,我建议你移步它处,本文适合有点基础的pyth ...

  8. k8s~helm镜像版本永远不要用latest

    对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是 ...

  9. java的图形化界面 文本区JTextArea的程序例子

    package java1;     //使用时这个改成你的包名即可//文本区 JTextArea import javax.swing.*;import java.awt.*;import java ...

  10. Linux-设备

    一.在Linux系统中,每个设备都被当成一个文件来对待. 在Linux系统中,几乎所有的硬件设备都在/dev这个目录内.