深度学习课程总结(stage1)

2023-10-18 14:10

本文主要是介绍深度学习课程总结(stage1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、线性分类与感知机

  1. 线性回归

(1)定义:利用数理统计中回归分析,来确定两种或两种以上变量间相

互依赖的定量关系的一种统计分析方法。

(2)要素:训练集(即输入数据),比如预测房价和面积的关系时,面积就是训练集

输出数据,模型(映射关系),条目数

(3)多维问题:

假设原问题和n个因素有关,则可以构造代价函数:

其中前者是真实值,后者是预测值,我们的目标是使损失函数最小

  1. 线性二分类问题

(1)定义:线性分类器则透过特征的线性组合来做出分类决定,以达到

此种目的。简言之,样本通过直线(或超平面)可分

(2)输入是特征向量,输出有多种可能,如果是二分类问题,则是0和1,如果输出是某类的概率,则是0到1之间的数字

(3)为了最终获得0到1之间的概率,我们构造了sigmoid函数:

其中,z是特征x的线性组合

因此,可以构造如下的损失函数:

其中,是gt,只能取0或者1,而是通过sigmoid函数获得的,这种回归叫做softmax

(4)求解对应J最小时的大小的方法

可以认为J是通过的一个差分的方式构成的,因此我们可以采用以下方法:

而由sigmoid函数的性质,可知:

  1. 对数回归和多分类回归

  1. 二分类问题的交叉熵

由于二分类问题的输出只有0和1,因此可以将损失函数写作:

对其最小化,可得:

  1. 感知机模型

(1)由输入到输出的模型如下:

为损失函数,我们的目标是使损失函数最小

二、多层前馈网络与误差反传算法

  1. 多层感知机:

(1)用处:解决线性不可分问题

(2)结构:在输入和输出之间加入隐藏层

(3)定理:① 若隐层节点(单元)可任意设置,用三层阈值节点的

网络,可以实现任意的二值逻辑函数。

② 若隐层节点(单元)可任意设置,用三层S型非线性特

性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧

集上的平方可积函数。

  1. 多层前馈网络以及BP算法:

(1)组成:

① 网络结构:一般称为BP神经网络

② 正向传播:输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播

③ 反向传播:是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。

(2)算法流程(来源于本人的另一篇博客,链接:https://blog.csdn.net/aliezaliezaliez/article/details/126540495?spm=1001.2014.3001.5502)

以一维度的w和b为例,

我们希望从起始点沿着梯度最大的路径以一定的步长向下降,直到达到最优解,或者接近最优解

在代码中,经常把

写作

成为学习率,决定了每次下降的步长

对于J(w,b)同理

编辑

即分别沿着两个变量的最大梯度下降

数学基础 ————导数

① 计算图

例:

编辑

该过程的逆过程,就是导数的求取过程

编辑

说完数学基础后,可以进一步研究logistics 中的梯度下降

下面这个图万分的重要!!!!!!!!!!!

则:

当输入有m个样本时:

编辑

代码实现思路如下:

这里面

编辑不加带i的角标,因为他们是求和的形式

编辑(这个前面用链式法则推过)

(这个右侧本质上加的就是某个输入的

,对J求导即可,那也就是用链式法则推导,其实就是对z先求导,然后z对w求导所以出来了

...

这里

这些,代表的是特征的个数,例如图片识别时,每一个图片分为r,g,b三原色,每一种原色都有64×64的像素,因此在这里,

编辑的个数为3×64×64个

如果这里x的维度n比较大,可能也需要写一个循环

对于m,是输入的个数,以图片识别为例,就是图片的张数

(z对b求偏导数是1)

编辑(前文公式可以看出来)

编辑

编辑

(梯度下降法)

使用for循环会使代码变得低效,因此我们可以用向量化来代替for循环

5.向量化

编辑

这篇关于深度学习课程总结(stage1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/233080

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3