约定符号:

m = 训练样本数

X = 输入变量(特征)

Y = 输出变量(目标变量)

(X,Y) = 表示一个样本

$\left ( X^{(i)},Y^{(i)} \right )$ = 第i个样本(上标i不是指数)

用线性表示则是:

$h\left ( X \right )=\Theta _{0}+\Theta _{1}X$

$\Theta$称为学习算法的参数

如果有2个特征则写成:

$h\left ( X \right )=\Theta _{0}+\Theta _{1}X_{1}+\Theta _{2}X_{2}$

这里的X是一个输入特征

如果需要让假设h对$\Theta$依赖,则写成

$h _{\Theta}\left ( X \right )=\Theta _{0}+\Theta _{1}X_{1}+\Theta _{2}X_{2}$

如果假设$X_{0}$=1,则公式可以简写成:

                  $h_{\Theta }\left ( X \right )=\sum\limits_{i=0}^{2}\Theta _{i}X_{i}=\Theta ^{T}X$

最后一个符号n表示所有的特征数目,也就是X的个数。

则公式可以写成:

        $h_{\Theta }\left ( X \right )=\sum\limits_{i=0}^{n}\Theta _{i}X_{i}=\Theta ^{T}X$

我们要做的事情就是要让$\left ( h_{\Theta }\left ( X^{(i)} \right )-Y^{(i)} \right )^{2}$最小,也就是预测值减去实际值的平方最小,也就是误差最小

为了简化运算,引入一个$J\left ( \Theta  \right )$函数:

                        $J\left ( \Theta  \right ) = \frac{1}{2}\sum\limits_{i=0}^{m}\left ( h_{\Theta }\left ( X^{(i)} \right )-Y^{(i)} \right )^{2}$

我们所要做的是要是一个关于$ \Theta$ 函数$J\left ( \Theta  \right )$的值最小化,

如果我们初始化一个$ \Theta$ 为$\Theta=\vec{0}$,然后不断地去改变$\Theta$的向量,使得函数$J\left ( \Theta  \right )$的值不断减小,直到我们找到了一个$\Theta$使得$J\left ( \Theta  \right )$函数取到了最小值。

那么要按照什么方向寻找$\Theta$,并得到$J\left ( \Theta  \right )$的最小值呢?

我们需要根据$J\left ( \Theta  \right )$函数的最陡峭的部分往下走,最陡峭的部分也就是梯度。

梯度下降:

      $\Theta _{i}:=\Theta _{i}-\alpha \frac{\partial }{\partial \Theta _{i}}J\left ( \Theta  \right )$

求导之后为:

      $\Theta _{i}:=\Theta _{i}-\alpha \left ( h_{\Theta }\left( X  \right )-Y \right )X_{i}$

称之为更新函数,$\alpha$为学习速度,表示朝着最低点迈步的大小。

这里的冒号表示赋值

所以我们要做的是,将$\Theta$按照梯度下降的方法,最后使得$J\left ( \Theta  \right )$收敛,也就是找到了$J\left ( \Theta  \right )$的最小值。

如果样本数很多:

就要用到梯度下降方法的一些分类方法:

随机梯度算法,样本少,速度快,不收敛

批量梯度算法,样本多,速度慢,收敛。

另外一种计算$\Theta$的方法:

            $\Theta =\left ( X^{T}X \right )^{-1}X^{T}Y$

但是$\Theta$不一定可以直接求出来。

转载于:https://www.cnblogs.com/Mjerry/p/9687795.html

02-监督学习应用.梯度下降相关推荐

  1. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降

    Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...

  2. 监督学习应用与梯度下降

     监督学习应用与梯度下降 (2013-12-01 21:37:37) 转载▼ 标签: 梯度下降算法 回归 机器学习 分类: 机器学习与数据挖掘 (斯坦福大学公开课--监督学习应用与梯度下降笔记) ...

  3. 斯坦福机器学习公开课学习笔记(2)—监督学习 梯度下降

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.感受         这一节课Andrew讲的是监督学习应用中的梯度下降方法(Supervised-Lear ...

  4. 机器学习-算法-有监督学习:EM(最大期望值算法)<=> MLE(最大似然估计法)【关系类似“梯度下降法”<=>“直接求导法”】【EM“梯度下降”:先初始化一个随机值,然后通过迭代不断靠近真实值】

    机器学习-算法-有监督学习:EM(最大期望值算法)<=> MLE(最大似然估计法)[关系类似"梯度下降法"<=>"直接求导法"][EM& ...

  5. 吴恩达机器学习,监督学习线性回归与梯度下降(MATLAB实现)

    监督学习模型描述 学习算法通过训练集得到一个假设函数h,h接收输入可以得到一个输出. 列如: 已知房子大小与对应的价格,通过学习算法驯良可以得到一个假设函数 h h h: h = θ 0 + θ 1 ...

  6. Lesson 4.5 梯度下降优化基础:数据归一化与学习率调度

    Lesson 4.5 梯度下降优化基础:数据归一化与学习率调度 在上一小节中,我们讨论了关于随机梯度下降和小批量梯度下降的基本算法性质与使用流程.我们知道,在引入了一定的样本随机性之后,能够帮助参数点 ...

  7. 机器学习 | 梯度下降原理及Python实现

    文章目录 1. 梯度下降 1.1 批量梯度下降(BGD) 1.1.1 学习率的设置 1.1.2 Python 实现 BGD 1.2 随机梯度下降(SGD) 1.2.1 Python 实现 SGD 1. ...

  8. 神经网络:AI 实践者需要掌握的10大深度学习方法:反向传播、迁移学习、梯度下降……

    [嵌牛导读]:本文总结了10个强大的深度学习方法,包括反向传播.随机梯度下降.学习率衰减.Dropout.最大池化.批量归一化.长短时记忆.Skip-gram.连续词袋.迁移学习等,这是AI工程师可以 ...

  9. 002-深度学习数学基础(神经网络、梯度下降、损失函数)

    002-深度学习数学基础(神经网络.梯度下降.损失函数) 这里在进入人工智能的讲解之前,你必须知道几个名词,其实也就是要简单了解一下人工智能的数学基础,不然就真的没办法往下讲了. 本节目录如下: 前言 ...

  10. 强化学习(七) - 函数近似方法 - 随机梯度下降, 半梯度下降,及瓦片编码(Tile Coding)实例

    函数近似方法 7.1 目标预测(VE‾\overline{VE}VE) 7.2 随机梯度下降和半梯度下降 例7.1: 1000态随机行走的状态收敛 7.3 线性近似 7.4 线性方法的特征构造 7.4 ...

最新文章

  1. Python:处理一些格式规范的文字
  2. Memcached安装使用和源码调试
  3. 如何写一篇好的技术博客
  4. 华为8x计算机横屏怎么设置,荣耀8x怎么设置横屏显示 两种操作方法详细介绍
  5. IOS之AFNetworking,SDWebImage,Kingfisher,Alamofire,FMDB框架的使用
  6. java tree json,基于jstree使用JSON数据组装成树
  7. Java Lambda流和Groovy Clouse的比较
  8. 如何在一个月内通过PMP考试?(含资源)
  9. EA6900刷梅林教程超详细
  10. 嘿,OCR文字识别了解下!
  11. 如何做一个自动化感应垃圾桶
  12. 新版标准日本语中级_第二十一课
  13. 【架构师必知必会系列】系统架构设计需要知道的5大精要(5 System Design fundamentals)...
  14. 淘宝API item_search_jupage - 天天特价
  15. 淘宝/天猫官方商品/订单订单API接口
  16. 中图分类号,文献标识码查询
  17. Eyeshot Fem 2022.436 Crack
  18. esp8266 arduino 驱动MG996R大功率舵机
  19. GNU Make 使用手册(于凤昌中译版)
  20. ICO未来能靠AI和区块链振作起来?

热门文章

  1. Linux下安装redis5.0.7
  2. RocketMQ之消费者并发消费源码解析
  3. Luogu P2617 Dynamic Rankings
  4. Java I/O 全面详解
  5. ES6学习笔记 -- 尾调用优化
  6. OKhttp使用详解(一)
  7. 《黑客大曝光:移动应用安全揭秘及防护措施》一3.1 了解iPhone
  8. UTF-8 encode decode 集合
  9. LINUX下的C编程实战(一)――开发平台搭建
  10. VMWare Network Adapter设置错误也会导致 Determining IP information for eth0 failed