
深度学习入门
文章平均质量分 96
本专栏基于《深度学习入门:基于Python的理论与实现》,假设读者已经有一定的python基础。整理不易,如果喜欢,还请支持一下。
Peter-Lu
前端爱好者 | 欢迎关注我的Github:Peter-Luna
展开
-
【机器学习】监督学习和无监督学习
监督学习是一种需要标签数据的机器学习方法。它通过训练数据集中的输入和对应的输出(标签),学习输入到输出的映射关系,并利用这种映射关系预测未知数据的输出。监督学习的目标是找到一个最佳的函数 ( f(x) ),使得给定输入 ( x ),预测的输出 ( \hat{y} ) 与真实输出 ( y ) 之间的误差最小。无监督学习是一种无标签数据的机器学习方法。它通过训练数据中的内在特性和分布模式,挖掘数据的潜在结构或规律。无监督学习的目标不是预测输出,而是发现数据的隐藏结构,例如分组、模式或特征降维。原创 2024-12-25 19:42:24 · 970 阅读 · 0 评论 -
深度学习:从数据中学习 and 损失函数
本文探讨了神经网络和深度学习在机器学习领域中的重要性和应用。神经网络通过自动学习数据中的模式和特征,有效地解决了传统方法中的人为介入和复杂度问题。我们以MNIST手写数字识别为例,详细介绍了如何利用数据驱动的方法,通过特征提取和机器学习技术实现数字识别。同时,文章还讨论了损失函数在神经网络训练中的作用,包括均方误差和交叉熵误差的应用。最后,我们强调了训练数据和测试数据的重要性,以及神经网络在实现泛化能力和避免过拟合方面的挑战与解决方法。原创 2024-06-25 17:52:35 · 703 阅读 · 1 评论 -
神经网络图像分类---手写数字识别
本文介绍了基于批处理的神经网络图像分类算法。首先,通过MNIST数据集展示了神经网络的推理处理,包括数据读取、权重参数加载和推理结果的计算。随后,介绍了批处理的概念及优势,通过修改输入数据的形状实现了批处理。最后,通过批量处理MNIST数据集,提高了神经网络图像分类的效率,并计算了分类准确率。实验结果显示,批处理能够显著减少处理时间,提高了神经网络的效率和性能。这一方法可以推广到其他图像分类问题中,为提高机器学习模型的训练和推理速度提供了有力支持。原创 2024-05-24 16:54:29 · 1024 阅读 · 1 评论 -
从输入到输出:探索三层神经网络的工作原理
本文介绍了一个具有两个隐藏层的三层神经网络的实现过程。首先,通过符号确认,明确了权重和偏置的表示方法。然后,详细介绍了各层间信号传递的实现,包括输入层到第一隐藏层、激活函数的计算过程、第一隐藏层到第二隐藏层以及第二隐藏层到输出层。其中,激活函数采用了sigmoid函数,并介绍了如何使用NumPy实现神经网络的矩阵运算。最后,通过整理代码,展示了神经网络的前向传播过程。这篇文章详细阐述了三层神经网络的实现细节,对于理解神经网络的工作原理具有很好的参考价值。原创 2024-05-17 11:02:18 · 1696 阅读 · 2 评论 -
【激活函数--下】非线性函数与ReLU函数
本文详细探讨了神经网络中激活函数的重要性,从基础的阶跃函数到更高级的Sigmoid和ReLU函数。我们讨论了这些激活函数如何引入非线性以处理复杂问题,它们的计算特性,以及在神经网络设计中的应用。此外,本文还提供了如何在Python中实现这些函数的指南,并通过可视化加深了对它们行为的理解。通过这些讨论,读者可以更好地理解各激活函数的优势和适用场景,及其对深度学习技术发展的推动作用。原创 2024-05-13 15:14:03 · 1215 阅读 · 3 评论 -
【神经网络】输出层的设计
本文介绍了神经网络中输出层的设计原则。对于分类问题和回归问题,需要根据情况选择合适的输出层激活函数。分类问题通常使用softmax函数,回归问题通常使用恒等函数。文章详细介绍了恒等函数和softmax函数的计算方法,并提出了在计算softmax函数时避免数值溢出的方法。此外,还讨论了softmax函数的特征,包括输出总和为1和各元素大小关系不变性。最后,指出在推理阶段通常可以省略输出层的softmax函数,输出层的神经元数量应根据问题的类别数量确定。原创 2024-05-12 14:00:01 · 1751 阅读 · 1 评论 -
【激活函数--中】激活函数和阶跃函数的可视化及对比
在这篇文章中,我们将深入探讨神经网络中激活函数的重要性,介绍从基本的阶跃函数到更高级的Sigmoid和ReLU函数的转变。我们不仅将解释这些函数如何影响神经网络的学习能力和性能,还会展示如何在Python中实现并可视化这些激活函数。通过对比这些函数,读者将能更好地理解各自的优势和适用场景,以及它们如何共同推动了深度学习技术的发展。原创 2024-05-11 15:01:20 · 1233 阅读 · 0 评论 -
【神经网络】矩阵乘法的应用详解
本文详细介绍了多维数组的概念、矩阵乘法的基本原理及其在神经网络中的应用。首先,探讨了使用NumPy库创建和操作一维及二维数组的方法,包括如何查询数组的维度和形状。接着,详细解释了矩阵乘法的计算过程,包括具体的数学公式和通过NumPy实现的示例。文中还讨论了矩阵乘法在维度匹配方面的要求以及特殊情况下矩阵与向量的乘积。最后,通过一个简单的神经网络模型,展示了矩阵乘法如何促进神经网络中信息的传递和处理,强调了其在现代科学计算中的重要性和实用性。原创 2024-05-10 11:04:03 · 2137 阅读 · 2 评论 -
【激活函数--上】激活函数和阶跃函数的实现与理解
在本文中,我们将深入探讨神经网络中激活函数的重要性,并具体介绍了阶跃函数和Sigmoid函数的原理、特性以及与其他激活函数的比较。此外,还提供了如何在Python环境下实现这些函数的详细指导,特别是如何利用NumPy库来优化这些函数的实现,从而使其能够有效地处理大规模数据或数组。通过这些讨论和示例,我们希望读者能更好地理解激活函数在神经网络设计中的核心作用以及如何在实际项目中应用这些知识。原创 2024-05-09 10:17:21 · 1138 阅读 · 1 评论 -
神经网络的基础:从感知机到复杂网络的进化
本文深入探讨了神经网络的基本概念和结构,从最初的感知机模型开始,详细说明了如何通过增加层和引入激活函数来逐步发展成复杂的神经网络架构。感知机作为一种基本的二分类线性模型,因其简单性在早期广泛应用,但由于其权重需要手动设置,应用范围受限。随后介绍的多层神经网络通过自动学习和调整权重,显著提高了处理复杂数据的能力。文章进一步解释了激活函数的作用,它是神经网络能够捕捉非线性模式的关键。通过丰富的图示和数学模型,本文旨在为读者提供对神经网络从理论到实践的全面理解,强调了现代深度学习技术的核心原理和方法。原创 2024-05-08 15:18:24 · 1387 阅读 · 0 评论 -
从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)
本文详细探讨了感知机——一种简单形式的人工神经网络,首次由Frank Rosenblatt在1957年提出。文章从感知机的基本原理和结构开始,解释了其如何处理输入和产生输出。通过实例,展示了感知机在模拟基本逻辑门(如与门、或门和与非门)中的应用,并讨论了其在处理更复杂的逻辑函数时的局限性,特别是在尝试实现异或门时的挑战。进一步地,文章讨论了通过叠加层来克服这些局限性,展示了多层感知机如何能够执行更复杂的计算,最终探索了感知机在模拟整个计算机系统中的潜力。原创 2024-05-06 18:55:40 · 1200 阅读 · 10 评论 -
从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(下)
本文全面探索了感知机的理论基础、实现方式及其在模拟复杂计算结构中的应用。文章首先回顾了感知机的基本原理,阐述了它如何通过简单的权重和阈值处理输入信号,并模拟基本的逻辑电路如与门、或门和与非门。随后,文章详细讨论了感知机在实现异或门时遇到的挑战,指出单层感知机无法解决非线性问题的局限性,并通过引入多层感知机来解决这一问题。最后,文章探讨了感知机在模拟更复杂的计算机系统中的潜力,特别是如何通过层叠结构模拟计算机的各个功能模块,从而在理论上可以实现任何计算任务。原创 2024-05-07 17:18:50 · 1010 阅读 · 0 评论 -
深入了解 NumPy:深度学习中的数学运算利器
NumPy是Python中专门用于科学计算的核心库,提供了强大的多维数组对象和广泛的数学函数集,以支持大量的维度数组和矩阵运算。这些功能特别适用于执行高效的数组运算和复杂的数学运算,是深度学习和数据科学领域不可或缺的工具。通过简单的代码示例展示了如何导入NumPy库、创建和操作数组,以及如何使用NumPy进行基本的算术运算和高级数组操作。此外,NumPy的广播功能可以简化不同形状数组间的运算。文章还探讨了基于索引的数组访问方法,这些都体现了NumPy在科学计算中的强大能力和灵活性。原创 2024-05-05 19:24:36 · 1741 阅读 · 74 评论