深度学习快速入门--7天做项目

news2024/11/18 23:26:43

深度学习快速入门--7天做项目

  • 0. 引言
  • 1. 本文内容
  • 2. 深度学习是什么
  • 3. 项目是一个很好的切入点
  • 4. 7天做项目
    • 4.1 第一天:数据整理
    • 4.2 第二天:数据处理
    • 4.3 第三天:简单神经网络设计
    • 4.4 第四天:分析效果与原因
    • 4.5 第五天:整理代码
    • 4.6 第六天:理解代码
    • 4.7 第七天:升级代码
  • 5. 总结
  • 欢迎来稿

0. 引言

近段时间,之前的老板让我带下小师弟。然后按照给照小师弟的项目指导,正好出这篇文章来帮助那些想要深度学习入门或者刚接触深度学习的人。纯属拙见,仁者见仁智者见智,请勿言辞激烈讨论,感谢。。。

1. 本文内容

  • 深度学习是什么
  • 项目是一个很好的切入点
  • 7天做项目
  • 谢谢大家看完

2. 深度学习是什么

贴一些概念,大家了解即可。。。简单来说就是通过寻找数据之间的关系来进行某种决策
深度学习(Deep Learning)是机器学习的一个分支,其目标是通过模拟人脑神经网络的结构和功能,让计算机具有学习执行特定任务的能力。深度学习的核心概念是神经网络,特别是深层神经网络,这些网络由多个层次(深度)的神经元组成。

主要的深度学习模型是人工神经网络(Artificial Neural Networks,简称ANNs),其中深层神经网络是一种特殊类型的神经网络,具有多个隐藏层。这些网络通过学习从输入数据中提取特征,逐渐建立起对任务的复杂抽象和表示。神经网络的图像如下所示:
在这里插入图片描述

3. 项目是一个很好的切入点

为什么说项目是一个很好的切入点呢? 因为天天看视频,看书,对于现在很多适应快节奏的人都不是很合适,更何况老板那边也在催你赶快出成果看完了一遍又一遍还是不太会用呀!!或者说本来就没要求那么多、那么精通,我只是要求会用,为啥要为难自己呢?

这个时候,就要考虑从项目出发,然后以一个7天的计划来要求自己按照下面的内容来做!! 做完之后你肯定就对其有一个很好的了解了,当然了不管用也不要来找我,我也没收钱啊。。。。

4. 7天做项目

前面的准备时间就不再算了啊,项目分成简单回归项目简单分类项目,这个自己要分辨清楚。然后的话是使用的是基本的神经网络结构(当然有人要吐槽了,这都是多少年前的结构了怎么还用这个。 饭要一口一口吃,所有事情都是从简单做起,先搭建一个简单框架,然后慢慢在上面修正,你也就慢慢在进步了)。

4.1 第一天:数据整理

数据往往是深度学习领域的必杀技,为了得到一个好的结果,一定要有一个不错的数据。因此,我们首先需要对数据进行整理。打开数据文件后,我们需要对数据进行简单观察,查看下数据的各个结构。
在这里插入图片描述
例如上面这个数据,存在一个选项是stock,这就说明可能存在多个stock。我们在做的时候是否需要将每个类别区分出来也是我们需要考虑的事情。另外,假如说数据中存在异常值(前面的时候异常值不考虑)或者空值(读取的时候会反应为NAN),这个我们后续都要对其进行处理的。
注意:必要的时候需要对数据绘制图像来观察数据。。。

4.2 第二天:数据处理

在对数据进行整理后,拿到了自己跑模型的那一批数据,也就意味着我们需要对数据进行处理(数据清洗)了。
对数据进行清洗通常包含以下内容:

  1. 缺失值处理:检测并处理数据中的缺失值。这可能包括删除缺失值、使用插值方法填充缺失值(pandas库有自带的方法),或者通过其他手段进行处理。
  2. 数据类型转换: 确保数据的类型正确,例如将字符串转换为数字、日期格式的处理等。对于神经网络模型而言,能理解的只有数值型数据,因此可能需要进行onehot embedding或者label embedding
  3. 标准化和归一化: 对数据进行标准化或归一化,确保不同特征之间的尺度一致,有助于提高模型的稳定性和性能。

当然,数据处理还有很多操作,这里只介绍基本操作!!!!

4.3 第三天:简单神经网络设计

首先需要安装对应的软件,安装Pytorch(科研推荐),有想用Tensorflow的也支持!!
然后,设计一个简单的神经网络,下面贴上简单神经网络的代码:

import torch
import torch.nn as nn

class BPNN(nn.Module):
    def __init__(self):
        super(BPNN, self).__init__()

        self.hidden_layer = nn.Sequential(
            nn.Linear(13, 15),
            nn.Sigmoid())
        self.out_layer = nn.Sequential(
            nn.Linear(15, 1),
            nn.Sigmoid())

    def forward(self, x):
        out = self.hidden_layer(x)
        out = self.out_layer(out)
        return out

网络设计或者结构可以从网上找到,大家多搜索一下就能找到清晰地了,这里就不献丑了!!!

4.4 第四天:分析效果与原因

将跑出来的预测结果与真实值进行比较,在跑的时候不要害怕跑的次数太多(之前的师弟跑了50次就停了,结果模型就是一个类似于半圆,你让他收敛一会儿啊。。。。)。另外,对于比较的结果记得用反归一化的结果,不要用还是之前归一化后的结果,这样的话容易看不出来真实比较的情况!!!
对于各种各样跑出来的情况,记得在网上找相关内容来查阅,这样会让你更深刻地理解代码!!! 不要害怕出错

4.5 第五天:整理代码

将你的代码整理成一个完整的项目,不要给出多余的内容!!!(此时的代码才是一个完整的Project!! 恭喜!!!

4.6 第六天:理解代码

将你的代码再理解一遍吧,该打上的注释都要打上,每一行代码都要理解其功能哦!!!(这个时候就要发挥这是什么的多问精神,不停问自己这是什么。。。

4.7 第七天:升级代码

代码这么简单,不给代码升级一下? 不换一下网络结构? 不搞一些牛的东西进去吗?! (加油吧!!小伙子,你已经出师了!!!

5. 总结

到此,使用 深度学习快速入门–7天做项目 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

欢迎来稿

欢迎投稿合作,投稿请遵循科学严谨、内容清晰明了的原则!!!! 有意者可以后台私信!!

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

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

相关文章

day02.C++命名空间

目录 一、命名空间的作用 二、命名空间的定义 三、命名空间的镶嵌定义 四、命名空间的使用方法 一、命名空间的作用 一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过…

iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法

在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了…

Day 17------C语言收尾之链表的删除、位运算、预处理、宏定义

链表 空链表: 注意:函数不能返回局部变量的地址 操作: 1.创建空链表 2.头插 3.尾插 4.链表遍历 5.链表的长度 free:释放 删除: 头删 void popFront(struct Node *head) { //1.p指针变量指向首节点 //2.断…

康姿百德床垫价格合理功效好,用科技力量守护您的睡眠健康

现代生活中,优质睡眠的观念已深入人心。人们渐渐认识到,一个舒适的床垫不仅仅是睡眠的工具,更是健康的守护者。很多朋友在选购床垫一掷千金,却找不到一款合适的床垫。康姿百德床垫是专为提升睡眠质量研发的床垫,成为了…

网络安全全栈培训笔记(60-服务攻防-中间件安全CVE复现WeblogicJenkinsGlassFish)

第60天 服务攻防-中间件安全&CVE复现&Weblogic&Jenkins&GlassFish 知识点: 中间件及框架列表: lIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere,Jenkins, GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Sprng,Flask,jQuery 1、中间件-Web…

Portainer访问远程Docker (TLS加密)

前言: docker的2375端口,出于安全性考虑即(Docker Remote API未授权访问漏洞),是不开放的,如果想要管理远程docker,可以使用TLS机制来进行访问,这里以Portainer访问连接为例 文章参考:https://b…

外卖,也可以“聚合”

文章首发于微信公众号:PenguinPay ,欢迎关注。 一、背景 1.1 订单来源 在过去,商家普遍使用传统POS收银软件进行线下店面收银,可以在一定程度上提升收银效率。 之后随着O2O外卖渠道的发展,越来越多的商家选择在线上平台运营门店…

吸猫毛空气净化器哪个好?推荐除猫毛效果好的宠物空气净化器品牌

如今,越来越多的家庭选择养宠物,使家庭变得更加温馨。然而,养宠物可能会带来异味和空气中的毛发增多,这可能会成为一大困扰,并对健康造成问题。 为了不让家里充斥着异味,特别是来自宠物便便的味道&#xf…

DATAX改造支持geometry类型数据同步

数据库使用postgresql安装了postgis插件存储了geometry空间数据,想使用datax做数据同步,但datax本身不支持geometry类型数据,如何改造呢? 1.首先下载已改造支持geometry类型的datax引擎,下载地址 https://download.c…

《区块链简易速速上手小册》第5章:智能合约(2024 最新版)

文章目录 5.1 智能合约的概念5.1.1 智能合约的基础知识5.1.2 主要案例:去中心化金融(DeFi)平台5.1.3 拓展案例 1:智能合约在供应链管理中的应用5.1.4 拓展案例 2:智能合约在房地产交易中的应用 5.2 智能合约的应用案例…

函数重载你真的了解吗?

1.什么叫函数重载? 函数重载(Function Overloading)是指在同一个作用域内,允许定义多个具有相同名称但参数列表不同的函数。具体而言,函数重载允许你定义同名的函数,但这些函数应该有不同的参数类型、参数个…

代码随想录算法训练营Day44|完全背包理论基础、518.零钱兑换II、377. 组合总和 Ⅳ

目录 完全背包理论基础 完全背包问题 算法实现 518.零钱兑换II 前言 思路 377. 组合总和 Ⅳ 前言 思路 算法实现 总结 完全背包理论基础 题目链接 文章链接 完全背包问题 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是…

计网——应用层

应用层 应用层协议原理 网络应用的体系结构 客户-服务器(C/S)体系结构 对等体(P2P)体系结构 C/S和P2P体系结构的混合体 客户-服务器(C/S)体系结构 服务器 服务器是一台一直运行的主机,需…

springboot 整合 PowerJob实现定时任务调度

最近项目需要使用定时任务,而使用了PowerJob做任务调度模块,感觉这个框架真香,今天我们就来深入了解一下新一代的定时任务框架——PowerJob! 简介 PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样…

关于破解IDEA后启动闪退的问题

问题描述:2023.1启动不了,双击桌面图标,没有响应。 解决办法: 打开C:\Users\c\AppData\Roaming\JetBrains\IntelliJIdea2023.1\idea64.exe.vmoptions 这个文件。 内容如下所示: 删除红框的数据以后,再登录…

ARM架构可视化ROS消息方案部署

ARM架构可视化ROS消息方案部署 三种方案, 1. webviz 2. foxglove 3. rosviz 注: web要用firefox, chromimum用不了, 可能是因为取消了时间同步机制的原因 先说三种方案的优劣, webviz 延迟比较高, 但是部署相对简单, foxglove 部署比较费劲, 但是效果不错, 延迟低, 本文会尽…

MySQL篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、MyIASM二、Memory三、数据库引擎有哪些前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、MyIASM MyIASM是 MySQL默…

Dash :一个超漂亮的 python Web库!

你好,Dash 是一个非常方便的 Python 库,它可以非常非常帮助你构建基于 Web 的应用程序,而且最棒的是你无需使用 JavaScript! 不仅如此,Dash 还是一个专门用于创建分析 Web 应用程序的用户界面库。 如果你是一个使用 …

【Algorithms 4】算法(第4版)学习笔记 03 - 1.3 背包、队列和栈

文章目录 前言参考目录学习笔记0:预热1:栈1.1:栈的链表实现1.1.1 代码实现1.2:栈的数组实现1.2.1:定容栈1.2.2:可调整大小数组1.2.3:代码实现1.3:链表与数组的取舍2:队列…

Vue中的常用指令

一、常用指令 概念:指令(Directives)是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。 为啥要学:提高程序员操作 DOM 的效率。 vue 中的指令按照不同的用途可以分为如下 6 大类: 内容渲染指令(v-html、v-t…