[深度学习入门]基于Python的理论与实现[感知机、神经网络、误差反向传播法及相关技巧](一)

简介: 笔记

一、前言


 本文是本人在认真学习完[日]斋藤康毅所著《深度学习入门-基于Python的理论与实现》(因为封面上有条鱼,以下皆用《鱼书》代称之)后的学习心得与体会。至于为什么要把写成文字记录下来呢,一是为了我后续的学习方便快速地回忆之前的知识点,一是为了给同样在学习这本《鱼书》的朋友们提供一些帮助。


二、概述


 该书一共包含八个章节,暂且把它分成三大部分,分别涉及到:

 部分一:Python入门、感知机;

 部分二:神经网络、神经网络的学习、误差反向传播法、与学习相关的技巧(我觉得部分二是其精华所在)

 部分三:卷积神经网络、深度学习


三、正文部分


第一章:Python入门

 该章节主要介绍了Python基础内容,从Python的安装到Python基础的语法介绍,再到机器学习、深度学习中常用库:Numpy(用于数据的高效计算)、Matplotlib(用于图形的绘制)的介绍。

 可以选择安装Anaconda,它会自动安装一个基本的python,该python下已经装好了一大堆工具包,之后用到的超过一半的包不需要额外再去从pip上安装,之后也可以通过Anaconda下载一些第三方库。


第二章:感知机

 感知机是神经网络的起源算法。

 感知机接收多个输入信号(x1、x2 …),输出一个信号(只有1/0两种取值)。不同的输入信号对应不同的权重(w1、w2 …),当接收的信号总和(w1x1+w2x2 …)大于某个阈值(θ)时,才会输出1。

1.png2.png

用于调整输出信号为1的程度的阈值θ挪到公式左边,把(-θ)用b代替,通常叫做偏置

3.png

可以利用感知机构建逻辑电路:

 与门:仅在两个输入均为1时输出1,否则输出0。感知机构建条件很多,比如:(w1, w2, θ) = (0.5, 0.5, 0.7)。

 与非门:跟与门相反,仅在两个输入均为1时输出0,否则输出1。感知机构建条件很多,比如:(w1, w2, θ) = (-0.5, -0.5, -0.7)。

 或门:只要有一个输入信号是1,输出就为1。感知机构建条件很多,比如:(w1, w2, θ) = (1, 1, 0.7)。

 然而单层感知机无法实现异或门(仅当两个输入中的一方为1时,才会输出1)。

4.png

将上图转换为下图:

5.png

感知机的局限性就是它只能表示由一条直线分割的空间(线性空间)。y用○表示0,△表示1。感知机就是一条分割○△的直线。

6.png

要分开上图的○△,只能使用曲线分割出非线形空间。

 叠加感知机的层数可以来表示异或门。

7.png8.png

与门、与非门、或门均为单层感知机,而异或门是2层感知机。叠加了多层的感知机也称为多层感知机

  通过叠加层(加深层),感知机能进行更加灵活的表示(能够进行非线性的表示


第三章:神经网络

  神经网络和感知机最大的区别,其实就是激活函数不同。

9.png

上图就是一个简单的神经网络,最左侧一列为输入层,最右侧一列为输出层,中间一列为中间层(隐藏层)。

 几种激活函数:

 阶跃函数:随着输入函数不同,在阈值处发生急剧性的变化。感知机的激活函数就是它。

10.png

sigmoid函数:输出随着输入发生连续性的变化。

11.png

sigmoid函数的平滑性对神经网络的学习具有重要意义。

 相对于阶跃函数只能返回0或1,sigmoid函数可以返回0.731 、0.880等实数。

12.png

ReLU函数:在输入大于0时,直接输出该值;在输入小于等于0时,输出0。

13.png

14.png15.png

上述几种激活函数的代码实现(common/functions.py):

16.png17.png



相关文章
|
6月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
750 7
|
7月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
521 1
|
6月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
1244 1
Python API接口实战指南:从入门到精通
|
6月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
1119 1
|
6月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
521 22
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1392 64
计算机视觉五大技术——深度学习在图像处理中的应用
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1273 6
|
机器学习/深度学习 人工智能 运维
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
477 40
|
12月前
|
机器学习/深度学习 数据采集 存储
深度学习在DOM解析中的应用:自动识别页面关键内容区块
本文探讨了如何通过深度学习模型优化东方财富吧财经新闻爬虫的性能。针对网络请求、DOM解析与模型推理等瓶颈,采用代理复用、批量推理、多线程并发及模型量化等策略,将单页耗时从5秒优化至2秒,提升60%以上。代码示例涵盖代理配置、TFLite模型加载、批量预测及多线程抓取,确保高效稳定运行,为大规模数据采集提供参考。
369 0

推荐镜像

更多