复旦大学公开课:深度学习的基本原理、常用算法

2023-11-05 00:30

本文主要是介绍复旦大学公开课:深度学习的基本原理、常用算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习资料:https://www.bilibili.com/video/BV1Bt4y1U7xq?from=search&seid=15892801515091723536

I believe in the importance of continuous learning!Just do your best !   Maybe good result will come soon !


TimeLine

  • 2020.9.24: 目前为止,了解了深度学习的一个基本流程和基础概念,尝试去阅读一些paper

深度学习的方式

  • 在input的刺激下,不断改变网络的连接权值

神经元的作用

  • 对输入空间进行线性划分

学习训练算法

  • 就是训练权值

前馈型神经网络(BP算法,也叫BP神经网络)

  • 连接方式上是全连接;输入层(数值型数据,激活函数输入==输出),隐层,输出层
  • 用于分类,找特征值
  • x和w是向量,b是偏置值,f叫激活函数,负责通过输入的加权和,得到一个输出,输出给下一层神经元
  • 训练算法
    • 批量训练处理算法:
      • 每一个样本都跑一遍神经网络,最小化 总损失函数(最小平方误差准则),通过梯度下降法对总进行权重和偏置,这叫一次poach
    • 随机梯度下降法:
      • 随机挑一小批的样本,每一个随机样本,都对权重进行修正;
    • 基于 P处理 + 随机样本
  • 梯度消失:梯度接近于0

神经网络常见的激活函数

  • Sigmoid
    • 梯度容易消失,在x很小或者x很大的时候会出现“梯度消失”;好处就是会限制在[0,1]且处处可导
  • tanh:把Sigmoid的y范围拉伸到[-1,1],也不太行,“梯度消失”
  • ReLu:分段函数
  • Leaky ReLu
  • 损失函数:交叉熵 (用于二分类问题)
  • 激活函数的特性:非线性,可微分,单调,输出范围可控,计算简单,
  • 学习率(学习步长)的确定方式
    • 固定步长
    • 用经验瞎猜
    • 动态,在训练初期,可以让步长大一点
    • Adam算法,也是动态的
  • 过拟合:训练样本还行,但是测试样本有问题。根本原因是模型复杂,节点太多
    • 解决方案
      • 惩罚性成本函数
      • DropOut 随机丢失
      • 尽早终止:每各n个epoch,测试一下检验样本对于模型的损失函数是多少,如果变大的,则说明该停止,已经过拟合了
      • 动量,有点像 模拟退火

神经网络的作用

  • 信用卡欺诈
  • 手写体识别
  • 总体流程:input data→hidden layer→output→gradient descent optimization→check for overfitting

 

深度学习的场合

  • 银行客户流失预测(BP网络)
    • 对于连续性,数值型的数据,归一化(0,1);对于离散型属性(true or false),神经网络不能直接处理,因此通过0和1代表其数值,也叫One-Hot编码
    • 数据分成两个集:训练样本集 + 测试样本集,上面有提到过
    • 标签数据:用户是否流失
    • layer3输出层用的是softmax而不是隐层的sigmoid

 

 

这篇关于复旦大学公开课:深度学习的基本原理、常用算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达