【机器学习】从零开始理解深度学习——揭开神经网络的神秘面纱

news2024/9/27 17:25:31

【机器学习】从零开始理解深度学习——揭开神经网络的神秘面纱

1. 引言

深度学习是机器学习的一个重要分支,通过多层神经网络处理复杂数据,广泛应用于图像识别、自然语言处理等领域。我们将在这篇文章中揭开深度学习和神经网络的神秘面纱。
在这里插入图片描述

2. 什么是神经网络?

神经网络由大量“神经元”组成,模拟生物神经元的连接。它通过训练数据调整权重来学习复杂模式。

神经网络的代码示例

我们用 Keras 构建一个简单的神经网络模型:

from keras.models import Sequential
from keras.layers import Dense

# 创建一个简单的神经网络模型
model = Sequential()
model.add(Dense(32, input_dim=8, activation='relu'))  # 输入层和第一个隐藏层
model.add(Dense(16, activation='relu'))  # 第二个隐藏层
model.add(Dense(1, activation='sigmoid'))  # 输出层

# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 打印模型结构
model.summary()

在这里插入图片描述

3. 前馈神经网络 (Feedforward Neural Network, FNN)

前馈神经网络是最简单的网络架构,数据从输入层单向流动到输出层。

示例代码:

python复制代码import numpy as np

# 输入数据
X = np.array([[0,0], [0,1], [1,0], [1,1]])
y = np.array([[0], [1], [1], [0]])  # XOR 问题

# 前馈网络计算
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['binary_accuracy'])

# 训练模型
model.fit(X, y, epochs=1000, verbose=0)

# 预测输出
print(model.predict(X))

4. 反向传播与梯度下降

反向传播算法用于计算误差并更新神经网络中的权重。梯度下降算法则是通过最小化损失函数来优化权重。

示例代码:

python复制代码# 模型编译时指定使用反向传播和梯度下降算法
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics=['accuracy'])

# 训练模型时,反向传播自动发生
model.fit(X, y, epochs=100)

在这里插入图片描述

5. 深度神经网络 (Deep Neural Network, DNN)

深度神经网络拥有多层隐藏层,能够学习到复杂的特征。

示例代码:

python复制代码# 深度神经网络
model = Sequential()
model.add(Dense(64, input_dim=8, activation='relu'))  # 第一层
model.add(Dense(32, activation='relu'))  # 第二层
model.add(Dense(16, activation='relu'))  # 第三层
model.add(Dense(1, activation='sigmoid'))  # 输出层

# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 训练模型
model.fit(X, y, epochs=100)

6. 常见激活函数

神经网络通过激活函数为网络引入非线性能力。

示例代码:不同激活函数的应用

python复制代码# 使用 Sigmoid 激活函数
model.add(Dense(64, activation='sigmoid'))

# 使用 Tanh 激活函数
model.add(Dense(64, activation='tanh'))

# 使用 ReLU 激活函数
model.add(Dense(64, activation='relu'))

7. 优化算法

优化算法决定了权重更新的方式,常用的优化算法包括梯度下降和 Adam。

示例代码:Adam 优化器

python复制代码# 使用 Adam 优化器
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# 使用 SGD 优化器
model.compile(optimizer='sgd', loss='binary_crossentropy', metrics=['accuracy'])

8. 深度学习框架介绍

现代深度学习依赖于强大的框架,如 TensorFlow 和 PyTorch。下面是使用 TensorFlow 构建一个简单模型的示例。

示例代码:使用 TensorFlow 构建模型

python复制代码import tensorflow as tf

# 创建一个简单的深度学习模型
model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# 打印模型结构
model.summary()

9. 应用案例

图像分类:

深度学习在图像分类中广泛应用。以下是使用 Keras 进行图像分类的代码。

示例代码:简单的图像分类网络

python复制代码from keras.datasets import mnist
from keras.utils import to_categorical

# 加载 MNIST 数据集
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# 数据预处理
X_train = X_train.reshape((X_train.shape[0], 28 * 28)).astype('float32') / 255
X_test = X_test.reshape((X_test.shape[0], 28 * 28)).astype('float32') / 255
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

# 构建模型
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(28 * 28,)))
model.add(Dense(10, activation='softmax'))

# 编译模型
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=5, batch_size=128, verbose=1)

# 评估模型
test_loss, test_acc = model.evaluate(X_test, y_test)
print(f"测试准确率: {test_acc}")

10. 总结与未来展望

通过本文,我们从基础开始理解了神经网络与深度学习的核心概念。随着计算能力的提升和算法的改进,深度学习的未来前景广阔。未来,我们可以期待深度学习在更多领域取得突破,尤其是在医疗、金融和自动驾驶等领域。

11. 参考资料

  • 《Deep Learning》 by Ian Goodfellow
  • Coursera 深度学习课程
  • TensorFlow 官方文档

12.使用机器学习分析CSDN热榜

image-20240906101013147

  • 吃枣药丸
    img

你好,我是Qiuner. 为帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner⭐ gitee https://gitee.com/Qiuner 🌹

如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎。

代码都在github或gitee上,如有需要可以去上面自行下载。记得给我点星星哦

承接毕设辅导,代码开发等

如果你遇到了问题,自己没法解决,可以去我掘金评论区问。私信看不完,CSDN评论区可能会漏看 掘金账号 https://juejin.cn/user/1942157160101860 掘金账号

更多专栏:
  • 📊 一图读懂系列

  • 📝 一文读懂系列

  • ⚽ Uniapp

  • 🌟 持续更新

  • 🤩 Vue项目实战

  • 🚀 JavaWeb

  • 🎨 设计模式

  • 📡 计算机网络

  • 🎯 人生经验

  • 🔍 软件测试

掘金账号 CSDN账号

感谢订阅专栏 三连文章

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

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

相关文章

ABAP CURSOR游标的应用1

【应用场景】BW模块定时增量抽取SAP的销售案场收款单的业务主数据 【关键语法】 FUNCTION ZBWFM_ZTSD0011 . *"---------------------------------------------------------------------- *"*"本地接口: *" IMPORTING *" VALUE(I_REQ…

ipad如何强制关机重启

背景起因 上午同事小孩ipad死机了,输入密码没有反应,无法进入设备,使用下面的方法都无法强制关机重启 长按电源键N秒长按 电源键任意音量键(出现滑动关机按钮 但无法滑动)悬浮球--->更多--->设备--->重启 无…

骨传导耳机哪款好?精选五款热门骨传导耳机分享让你避免踩雷

目前在市面当中,骨传导耳机被称之为是黑科技耳机,骨传导耳机拥有很多优势,在听歌时不需要入耳,不会伤耳朵。随着骨传导耳机品牌的不断发展,人们在选购骨传导耳机时,也会觉得非常困难,可能一不小…

开源 AI 智能名片小程序在内容营销中的应用与价值

摘要:本文深入探讨在消费升级的时代背景下,开源 AI 智能名片小程序如何在内容营销中发挥重要作用。阐述了内容营销通过图片、文字、视频等媒介传播相关内容信息给目标用户以促进销售及实现营销目的的过程。分析了开源 AI 智能名片小程序作为一种新型营销…

​可看见车辆行人的实时高清视频第1辑

我们在《全球著名地标卫星影像收藏第4辑》分享了10个全球著名地标卫星影像,不过卫星影像是静态的照片。 现在我们为你分享可看见车辆行人的实时动态高清视频,这些视频来自公开的高清摄像头实时直播画面。 我们在文末为你分享了这些实时直播摄像头的点位…

@vueup/vue-quill使用quill-better-table报moduleClass is not a constructor

quill官方中文文档:https://www.kancloud.cn/liuwave/quill/1434144 扩展表格的使用 注意:想要使用表格 quill的版本要是2.0以后 升级到这个版本后 其他一些插件就注册不了了。 安装: npm install quilllatest 版本需要大于2.0版本 npm…

Maven教程——从入门到入坑

第1章 为什么要使用Maven 1.1 获取第三方jar包   开发中需要使用到的jar包种类繁多,获取jar包的方式都不尽相同。为了查找一个jar包找遍互联网,身心俱疲。不仅如此,费劲心血找到的jar包里有的时候并没有你需要的那个类,又或者有…

张飞硬件11~19-电容篇笔记

电容作用 作为源,对后级电路提供能量,对源进行充电。简单讲就是放电和充电。在电路设计中,源往往与负载相隔很远,增加电容就可以起到稳定作用。电容两端的电压不能激变,增加电容可以稳定电压。 电容可以类比为水坝&a…

Git创建本地仓库

一、创建本地空仓库 1、创建项目文件夹 创建一个全新的文件夹,在文件夹中右键,就会显示出来以下两项: 2、初始化仓库 点击第二个,就会在此目录进入 git 的命令行,然后在命令行中输入以下指令, git init…

Ubuntu 22.04 系统中 ROS2安装

Ubuntu 22.04 系统中 ROS2安装 ROS2安装 # 多窗口终端工具 sudo apt update sudo apt install tilix打开软件,点击右上角图标进入设置 -> General -> size120, columns:48Command -> 勾选第一个 Run command as login shellColor -> Theme Color 选择…

C++ 设计模式——解释器模式

目录 C 设计模式——解释器模式1. 主要组成成分2. 逐步构建解释器模式步骤1: 定义抽象表达式步骤2: 实现终结符表达式步骤3: 实现非终结符表达式步骤4: 构建语法树步骤5: 实现内存管理步骤6: 创建上下文和客户端 3. 解释器模式 UML 图UML 图解析 4. 解释器模式的优点5. 解释器模…

STM32学习笔记4 --- USART

目录 通信接口1 USART 串口的通信协议 硬件部分: 软件部分: 字节数据的传递: stm32内部的USART外设 串口发送 串口发送接收 Hex数据包 文本数据包 数据包的收发流程 串口收发Hex数据包 串口收发文本数据包 通信接口1 USART US…

麦克风品牌排行榜前十名,浩瀚、西圣、优篮子领夹麦克风测评PK

​我是一名数码测评师,对各类数码都颇为了解,特别是无线麦克风这种使用频繁的设备,已经上手测评过众多产品。然而测评过程中发现,市场上存在不少劣质产品,打着知名品牌却用着成本很低的材料,性能说很强&…

无人机之摄像头篇

无人机的摄像头是无人机系统中的一个重要组成部分,它承担着捕捉视频和图像的关键任务。随着技术的不断发展,无人机摄像头在分辨率、稳定性、视角、夜视能力、变焦功能以及数据传输等方面都有了显著的进步。以下是一些关于无人机摄像头的主要特点和类型&a…

足球预测可以人工智能AI吗

足球预测可以使用人工智能(AI)进行,AI在分析数据的速度和精度方面具有显著优势。通过综合考虑球员状态、战术布局、队伍历史表现等众多因素,AI技术可以提供高精度的比赛预测。其中,最值得关注的是AI的机器学习能力&…

9月报名 | 海克斯康电子散热从入门到精通培训

您好!感谢您长期以来对优飞迪科技与海克斯康的关注与支持。我们诚邀您参加9月23日-24日的海克斯康电子散热从入门到精通培训,本次培训将帮助您更好了解电子散热基础理论知识、CFD仿真流程及规范、电子散热中所遇现象的分析方法,以及通过采用s…

精益思维在智能电网中的应用和展望

在能源转型与数字化转型的双轮驱动下,智能电网正逐步成为未来电力系统的核心。它不仅提升了电网的灵活性、可靠性和效率,还为实现清洁能源的大规模接入和高效利用提供了坚实基础。而精益思维,这一源自制造业的管理哲学,正悄然融入…

镭射定位灯激光定位使用注意事项?

在现代工业、建筑测量、舞台设计以及科研实验等领域,镭射定位灯(常称激光定位器)因其高精度、远射程和直观性而得到广泛应用。然而,激光作为一种高强度光束,其使用若不当,不仅可能损害设备,还可能对人体健康造成危害。…

java开发简历详解

1、个人情况 姓名,性别,年龄,工作经验,邮箱,联系方式学校、学历、专业竞赛、获奖、班干部 2、个人技术栈 尽量详细的去展示每一个技术栈 1、JVM的写法:技术服务于项目。 2、写法的底气问题。谓词。肯定…

浅析网页不安装插件播放RTSP/FLV视频的方法

早期很多摄像头视频流使用的是RTSP、RTMP协议,播放这类协议的视频通常是在网页上安装插件。但现在越来越多的用户,对于网页安装插件比较反感,且随着移动设备的普及,用户更多的希望使用手机、平板等移动设备,直接可以查…