梯度下降: 01.原理与代码实操

1. 简介

  1. 梯度下降法(GradientDescent) 算法,不像多元线性回归那样是一个具体做回归任务的算法,而是一个非常通用的优化算法来帮助一些机器学习算法(都是无约束最优化问题)求解出最优解,所谓的通用就是很多机器学习算法都是用梯度下降,甚至深度学习也是用它来求解最优解。所有优化算法的目的都是期望以最快的速度把模型参数 θ \theta θ求解出来,梯度下降法就是一种经典常用的优化算法。
  2. 之前利用正规方程求解的θ是最优解的原因是MSE这个损失函数是凸函数。但是,机器学习的损失函数并非都是凸函数,设置导数=0会得到很多个极值,不能确定唯一解。
    损失函数图像

2. 使用正规方程的弊端

  • 使用正规方程 θ = ( X T ⋅ X ) − 1 X T y \theta = (X^T\cdot X)^{-1}X^Ty θ=(XTX)1XTy 求解的另一个限制是特征维度 ( X 1 、 X 2 、 X n ) (X_1、X_2、X_n) (X1X2Xn)不能太多,矩阵逆运算的时间复杂度通常为O(n3)。
  • 换句话说,就是如果特征数量翻倍,你的计算时间大致为原来的 2 3 2^3 23倍,也就是之前时间的8倍。
  • 举个例子,2个特征1秒,4个特征就是8秒,8个特征就是64秒,16个特征就是512秒。
    当特征更多的时候,运行时间会非常漫长。
  • 所以正规方程求出最优解并不是机器学习甚至深度学习常用的手段。
  • 之前我们令导数为0,反过来求解最低点θ是多少,而梯度下降法是一点点去逼近最优解!

3. 梯度下降操作

在这里插入图片描述
如上图,先随机瞎蒙一个值(最右侧的紫色点儿),然后一步一步进行Learning step,逼近最优解。

学习率一般都是正数,如果在山左侧(曲线左半边)梯度是负的,那么这个负号就会把w往大了调,如果在山右侧(曲线右半边)梯度就是正的,那么负号就会把 w j w_j wj往小了调。每次 w j w_j wj调整的幅度就是 α ∗ g r a d i e n t \alpha*gradient

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/21071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链--Ubuntu上搭建以太坊私有链

1、搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:Releases ethereum/mist GitHub 2、安装geth客户端 sudo apt-get update …

Java——常见进制

在计算机领域有四种比较常见的进制,分别是二进制、八进制、十进制和十六进制。 一、二进制(Binary) 二进制(Binary)是一种基数为2的数值系统,仅使用两个符号:0和1。所以它的进位规则就是逢二进…

MYSQL一、MYSQL的了解

一、MySQL概述 1、数据库相关概念 为了方便,我们一般把mysql数据库管理系统简称位mysql数据库 通过可以操作数据库管理系统,然后再通过数据库管理系统操作(数据库)和(数据库里面的数据) 2、当前主流的关系…

视频汇聚EasyCVR平台视图库GA/T 1400协议与GB/T 28181协议的区别

在公安和公共安全领域,视频图像信息的应用日益广泛,尤其是在监控、安防和应急指挥等方面。为了实现视频信息的有效传输、接收和处理,GA/T 1400和GB/T 28181这两个协议被广泛应用。虽然两者都服务于视频信息处理的目的,但它们在实际…

Llama(一):Mac M1芯片运行Llama3

目录 安装Ollama for Mac 下载Llama 3模型 运行Llama3 试用Llama3 在命令行中使用Llama3 背景 本地环境:Mac M1,16GB内存 安装Ollama for Mac 官方地址 https://ollama.com/download/Ollama-darwin.zip 链接: 百度网盘 提取码: 8wqx 下载Llama 3模型 oll…

从国产低代码龙头企业零赛云看零(低)代码在软件开发行业和工业企业的应用趋势

从国产低代码龙头企业零赛云看零(低)代码在软件开发行业和工业企业的应用趋势 --- 什么是零(低)代码?零(低)代码开发完整指南 一、什么是零(低)代码? 零&am…

pdb文件名称被修改导致pdb文件加载失败的实战排查案例分享

目录 1、概述 2、问题说明 3、pdb文件加载失败的可能原因有哪些? 4、使用!sym noisy打开pdb加载详情,发现pdb文件名称确实被修改了 5、Windbg是如何知道要加载pdb文件名称的? C软件异常排查从入门到精通系列教程(专栏文章列表…

linux进程加载和启动过程分析

我们的源代码通过预处理,编译,汇编,链接后形成可执行文件,那么当我们在终端敲下指令$ ./a.out argv1 argv2 后,操作系统是怎么将我们的可执行文件加载并运行的呢? 首先知道,计算机的操作系统的启动程序是写死在硬件上的,每次计算机上电时,都将自动加载启动程序,之后…

翻译《The Old New Thing》- What a drag: Dragging a Uniform Resource Locator (URL)

What a drag: Dragging a Uniform Resource Locator (URL) - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080312-00/?p23133 Raymond Chen 2008年03月12日 麻烦的拖拽:拖拽统一资源定位符(URL) 简要 …

Java(十二)---认识异常

文章目录 前言1. 异常的概念与体系结构1.1.异常的概念1.异常的体系1.3 异常的分类 2. 异常的处理2.1 防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1 异常声明throws2.3.2 try-catch捕获并处理2.3.3 finally 2.4 异常的处理流程 3. 自定义异常类 前言 这一篇就是咱们学习JavaSE…

C++ : 模板初阶

标题:C : 模板初阶 水墨不写bug 正文开始: C语言的问题 : 写不完的swap函数 在学习C语言时,我们有一个经常使用的函数swap函数,它可以将两个对象的值交换。 我们通常这样实现它: void swap(int t1,int t…

【vue实战项目】通用管理系统:作业列表

目录 目录 1.前言 2.后端API 3.前端API 4.组件 5.分页 6.封装组件 1.前言 本文是博主前端Vue实战系列中的一篇文章,本系列将会带大家一起从0开始一步步完整的做完一个小项目,让你找到Vue实战的技巧和感觉。 专栏地址: https://blog…

uni-app解决表格uni-table样式问题

一、如何让表格文字只显示一行,超出部分用省略号表示 步骤 : 给table设置table-layout:fixed; 列宽由表格宽度和列宽度设定。(默认是由单元格内容设定)让表格元素继承父元素宽度固定table-layout: inherit;overflow: hidden;超过…

list的简单模拟实现

文章目录 目录 文章目录 前言 一、使用list时的注意事项 1.list不支持std库中的sort排序 2.去重操作 3.splice拼接 二、list的接口实现 1.源码中的节点 2.源码中的构造函数 3.哨兵位头节点 4.尾插和头插 5.迭代器* 5.1 迭代器中的operator和-- 5.2其他迭代器中的接口 5.3迭代器…

【气象常用】剖面图

效果图: 主要步骤: 1. 数据准备:我用的era5的散度数据(大家替换为自己的就好啦,era5数据下载方法可以看这里【数据下载】ERA5 各高度层月平均数据下载_era5月平均数据-CSDN博客) 2. 数据处理&#xff1a…

windows10系统64位安装delphiXE11.2完整教程

windows10系统64位安装delphiXE11.2完整教程 https://altd.embarcadero.com/download/radstudio/11.0/radstudio_11_106491a.iso XE11.1 https://altd.embarcadero.com/download/radstudio/11.0/RADStudio_11_2_10937a.iso XE11.2 关键使用文件在以下内容:windows10…

Java Spring Boot 从必应爬取图片

获取图片主要就是通过必应图片页面控制台的元素,确认图片和标题在哪个类中(浏览器 F12) 引入依赖 这里需要引入两个依赖 jsoup 和 hutool maven依赖网站地址:Maven Repository: Search/Browse/Explore (mvnrepository.com) 挑选…

极简网络用户手册(1)

极简网络系统处理流程 模块位置:参数平台--专题分析--极简网络分析 步骤: 步骤一:创建精细化场景策略 步骤二:创建任务,主要选择策略(包括√配置和距离配置)和需要处理的小区清单(源…

FS212E 系列PD协议

PD快充协议芯片FS212EL、FS212EH可以智能的识别插入的手机类型,选择最为合适的协议应对手机快充需要。兼容多类USB Type-C协议,包括TypeC协议、TypeC PD2.0、TypeC PD3.0、TypeC PD3.2等协议。集成OPTO输出,通过电阻直驱反馈光耦。FS212E 的调…

PlantUML-使用文本来画时序图

介绍 PlantUML 是一个开源工具,用户可以使用纯文本描述来创建 UML (统一建模语言) 图形。由于它使用文本来描述图形,因此可以很容易地将这些描述与源代码一起存储在版本控制系统中。然后,PlantUML 负责将这些描述转换为图形。 资料 官方文…