IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【机器学习】学习笔记(二)之 单变量线性回归问题 -> 正文阅读

[人工智能]【机器学习】学习笔记(二)之 单变量线性回归问题

一、前言

机器学习的监督学习算法主要分为回归分类问题,本文章介绍的是回归问题
我们学习的第一个算法是线性回归算法,而线性回归算法中最常用的是梯度下降算法。在了解梯度算法之前应当先了解假设函数、代价函数的概念,继而加深对线性回归的梯度下降算法的了解,文章最后介绍了正规方程,以及与梯度下降算法的区别与应用场景。

注: 文章整理基于吴恩达机器学习视频

二、模型描述

还是从“预测房价”的例子入手,我们要使用的一个数据集,数
据集包含俄勒冈州波特兰市的住房价格。
在这里插入图片描述

常见术语概念

在监督学习中我们有一个数据集,这个数据集被称训练集。
𝑚 代表训练集中实例的数量
𝑥 代表特征/输入变量
𝑦 代表目标变量/输出变量
(𝑥, 𝑦) 代表训练集中的实例
(𝑥(𝑖), 𝑦(𝑖)) 代表第𝑖 个观察实例
? 代表学习算法的解决方案或函数也称为假设(hypothesis)
? 是一个从𝑥 到 𝑦 的函数映射

监督学习过程:
Training set 训练集
Training set :训练集
选择最初的使用规则?代表 hypothesis,因而,要解决房价预测问题,我们实际上是要将训练集“喂”给我们的学习算法,进而学习得到一个假设?,然后将我们要预测的房屋的尺寸作为输入变量输入给?,预测出该房屋的交易价格作为输出变量输出为结果。

一种可能的表达方式为:?𝜃(𝑥) = 𝜃0 + 𝜃1𝑥,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

注:这里的单变量线性回归问题可以与六多元梯度下降算法做对比来学习

?𝜃(𝑥)即为假设函数,当我们设计一个学习算法时,下一步需要决定怎么表达这个h,h的作用为预测一个y关于x的线性函数。

三、代价函数

我们可以根据假设函数画出代价函数,即代价函数是来实现以上模型的。
在这里插入图片描述

代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。平方误差代价函数是解决回归问题最常用的手段了.
代价函数表达式: 𝐽(𝜃0, 𝜃1) = 1/2𝑚 ∑ (?𝜃(𝑥(𝑖)) ? 𝑦(𝑖))^2
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数取得最小。

Eg1:
为了更直观的理解,我们以保留参数𝜃1为例,如下图中,对每一个假设函数都可以相应的画出代价函数中的坐标,进而求得代价函数中的最低点(即我们需要的最小值)。
在这里插入图片描述
Eg2:保留全部的参数𝜃0, 𝜃1
在这里插入图片描述
保留了全部参数的代价函数的样子类似于碗状,则可以看出在三维空间中存在一个使得𝐽(𝜃0, 𝜃1)最小的点。
我们常常看等高线,位于同一等高线图上的,代价函数相同。
在这里插入图片描述

当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数𝐽取最小值的参数𝜃0和𝜃1来。
在下面,我们将介绍一种算法-梯度下降算法,能够自动地找出能使代价函数𝐽最小化的参数𝜃0和𝜃1的值。

四、梯度下降算法

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数𝐽(𝜃0, 𝜃1) 的最小值

在这里插入图片描述

梯度下降背后的思想是:开始时我们随机选择一个参数的组合(𝜃0, 𝜃1, . . . . . . , 𝜃𝑛),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。**即起点不同,可能得到的最优解不同。**即一般的梯度下降算法是可以得到多个局部最优解的,与下面要介绍的线性回归的梯度下降算法不同,线性回归的梯度下降算法没有局部最优解的概念,只有全局最优解。
在这里插入图片描述

其中𝑎是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
在梯度下降算法中,梯度下降中,我们要同时更新𝜃0和𝜃1。

那研究𝑎是为了干什么呢?

  • 𝑎太大时:向下迈出的步伐太大,有可能导致越过最低点,导致无法收敛甚至发散。
  • 𝑎太小时:向下迈出的步伐太小,需要很多步去到达最低点,下降的太慢。

假设你将𝜃1初始化在局部最低点,下一步的梯度下降会怎么样?
假设你将𝜃1初始化在局部最低点,在这儿,它已经在一个局部的最优处或局部最低点------>局部最优点的导数将等于零------->它使得𝜃1不再改变,也就是新的𝜃1等于原来的𝜃1----->那么梯度下降法更新其实什么都没做,它不会改变参数的值。
这也解释了为什么即使学习速率𝑎保持不变时,梯度下降也可以收敛到局部最低点。

五、线性回归的梯度下降算法

将梯度下降和代价函数结合=线性回归算法(可以用直线模型来拟合数据)
将代价函数代入到梯度下降算法公式中
在这里插入图片描述在这里插入图片描述
”批量梯度下降”,指的是在梯度下降的每一步中,我们都用到了
所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算,所以,在每一个单独的梯度下降中,我们最终都要计算这样一个东西,这个项需要对所有𝑚个训练样本求和。

目前。我们已经掌握了批量梯度算法,并且能把它应用到线性回归中了,这就是用于线性回归的梯度下降法。

下一篇我们将介绍“多变量线性回归问题”

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:14:30  更:2021-08-09 10:17:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:53:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码