写在前面

本系列依据吴恩达机器学习课程,对每一节课进行提炼和总结,并结合课后作业进行相应的讲解。由于原课程的课后作业是用MATLAB完成的,本系列为了方便,将用python实现课后作业。

1.模型描述

以预测房价为例,训练集为:

用以下指标来对模型进行描述:

m:训练集的数目

x's:输入变量/输入特征

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

(x,y):一个训练样本

(x(i),y(i)):第i个训练样本

监督学习的过程:将训练数据集作为输入,进行算法的学习,然后输出一个假设函数,命名为h.即hypothesis

单变量的假设函数为:

其中的参数有两个,分别是:

2. 代价函数

单变量线性回归的代价函数为:

该代价函数也称为平方误差函数,前面的1/2m项是为了求解J函数最小值的时候方便计算。

我们目标是求得使代价函数取最小值时的参数值,即:

补充一个知识点:

代价函数,损失函数,目标函数三个函数之间的区别

损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。

关于目标函数和代价函数的区别还有一种通俗的区别:目标函数是最大化或者最小化,而代价函数是最小化。

关于代价函数J的三维图像为:

该函数是凸函数,大多数代价函数都是凸函数,凸函数有个特点:凸函数没有局部最优解,只有全局最优解

3. 梯度下降法

梯度下降法是求解代价函数最优化很普遍的方法,其基本思路为:

初始化参数θ,慢慢的改变参数,使代价函数J越来越小。

从图像上可以很形象地看出来梯度下降法的思路:

初始化参数θ0和θ1(如图左峰最上方一点),朝着下降最快的方向进行移动,每移动一步,就重复之前的步骤,直到到达局部最低点。如果换个起始点,可能到达的就是另一个局部最低点,如下图所示。

梯度下降法的迭代公式为:

其中j的值域为:

在该迭代公式中,

“:=”符号的意思是赋值,类似于C/C++中的“=”

赋值号左边的为下一步要达到的点,赋值号右边的为本次迭代的起始点

α为步长,也称为学习率,步长过长可能导致不收敛从而得不到结果步长过短会延长找到最低点的时间,所以选一个合适的步长很重要。

最后一项对代价函数J求偏导带表着前进方向,如果偏导数大于0,那θ就沿着负方向移动如果偏导数小于0,那θ就沿着正方向移动

在此注意:

计算偏导数的时候要同步,也就是按照以下步骤计算:

并不是:

这样在计算temp1的时候,θ0已经被更新了,这样计算θ1的时候是错误的。

4. 线性回归的梯度下降

这部分主要是将梯度下降法应用到线性回归当中

其中最重要的就是关于迭代公式中偏导数的求解,下面对其求偏导的过程进行演算:

对j分情况进行求偏导:

所以梯度下降算法可以表示为:

该梯度下降法会在之后的作业练习中用来,届时它的用法会做详细的说明。

入门机器学习(一)--单变量线性回归相关推荐

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

    机器学习之单变量线性回归(Linear Regression with One Variable) 1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我 ...

  2. 吴恩达机器学习2——单变量线性回归

    吴恩达机器学习2--单变量线性回归 监督学习工作模式 训练集中同时给出了输入输出,即人为标注的"正确结果"喂给学习算法,得到一个函数h,h 可以根据输入的x得到一个y,因此h是x到 ...

  3. 吴恩达机器学习1——单变量线性回归、梯度下降

    目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...

  4. 机器学习:单变量线性回归及梯度下降

    ***************************************** 注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的<机器学习>课程笔记.博主深感学 ...

  5. 机器学习_吴恩达_week1(机器学习分类+单变量线性回归)

    目录 一.绪论 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 非监督学习 二.单变量线性回归 2.1 模型表示 2.2 代价函数 2.3 代价函数的直观理解I 2.4 代价函数的直 ...

  6. 机器学习之单变量线性回归

    https://www.toutiao.com/a6687424871514767880/ 1 模型描述 让我们以预测住房价格的例子开始:首先要使用一个数据集,数据集包含不同房屋尺寸所售出的价格,根据 ...

  7. 吴恩达机器学习之单变量线性回归实现部分

    C++实现 代码实现 "linear_regression.h" //单变量线性回归模型 struct elem_var1 {double x, y; //训练集元素数据:自变量. ...

  8. 吴恩达机器学习之单变量线性回归理论部分

    理论部分 1.方程形式 在进行数据处理过程中,有时数据图像可拟合成单变量线性函数,即 2.如何拟合 此时,我们虽知道拟合函数的形式,但如何拟合仍是个问题,怎样拟合可以最接近实际数据情况呢? 最小二乘法 ...

  9. 机器学习实验——单变量线性回归(披萨价格预测问题)

    实验内容 假设某披萨店的披萨价格和披萨直径之间有下列数据关系: 训练样本 直径(英寸) 价格(美元) 1 6 7 2 8 9 3 10 13 4 14 17.5 5 18 18 根据上面的训练数据,预 ...

最新文章

  1. 面试被问烂的 Spring IOC(求求你别再问了)
  2. 孙正义万字访谈:AI是我现在唯一关注的事情,我是科技的绝对信徒
  3. 转载自csdn SQL SERVER 与ACCESS、EXCEL的数据转换
  4. React demo:express、react-redux、react-router、react-roter-redux、redux-thunk(一)
  5. SAP UI5 workthrough 12 sap.m.shell
  6. 微信企业号三个连接模式
  7. 全局变量链接时的冲突
  8. 2-1 如何抓不同的接口(手机抓包,web网页抓包)
  9. 货物与产品的区别_商品与产物的区别
  10. python实现触摸精灵功能_FRIDA脚本系列(三)超神篇:百度AI“调教”抖音AI
  11. 激活工具带毒感染量近60万,而北京等四城市用户不被攻击
  12. 人机交互-13-复习总览
  13. TYPEC-CC逻辑芯片-E-MARK数据线-浅析
  14. MacBook下载的软件显示无法打开“某某某”,因为Apple无法检查其是否包含恶意软件。”的解决办法
  15. Android 应用广告过滤几种方式
  16. win xp和 win7 的集成版 和 安装方法
  17. 世上最小的卡片电脑 RaspberrysPi Zero W 入手体验
  18. 我爱我妻——可以让男人看一遍哭一遍的文章!
  19. [高性能MySQL]-事务与隔离界别
  20. 计算机教研组活动目的,教研组活动方案

热门文章

  1. Windows修改远程桌面端口方法步骤
  2. Oracle从零开始5——数据库定义操作
  3. json 生成html转换,根据json字符串生成Html的一种方式
  4. mysql防止预约重号_mysql 防止重复插入唯一限制的数据
  5. c++第n小的质数_形形色色的素数 -- 质数定理
  6. 基于javaweb的黑马旅游网站来源_喜讯丨创业黑马(重庆)科技孵化中心今日开业!助力重庆高新区打造人工智能创新高地...
  7. Python大数据系列-01-关系数据库基本运算
  8. split出现得问题
  9. 排序 之 快排、归并、插入 - 时间复杂度----掌握思想和过程
  10. 清除float的方法