深度学习入门知识总结

系列文章目录

(一)Python必备基础知识
(二)什么是感知机
(三)从感知机到神经网络
(四)神经网络的学习过程
(五)误差反向传播法
(六)深度学习相关技巧
(七)卷积神经网络(CNN)
(八)深度学习的未来



前言

深度学习(英语:deep learning)是机器学习的分支,是一种以人工神经网络为架构,对资料进行表征学习的算法。本文基于作者对深度学习入门过程中的心得体会而写,仅供参考!推荐入门猛萌去看这本书《深度学习入门》,书的作者为斋藤康毅先生,由陆宇杰先生翻译。


(一)Python必备基础知识

1.什么是Python

Python,是一种广泛使用的解释型、高级和通用的编程语言。目前深度学习使用的主流语言是python,强烈推荐使用。绝大多数的深度学习第三方库都是以python为基础编写的,对python的支持较好。

2.Python的安装与版本选择

安装过程知乎、CSDN等平台都有详细过程,这里不再介绍。python郑重建议不要安装当前最新版,往往存在许多兼容问题,建议安装历史版本中的稳定版或长期支持版。比如3.8.3版或者3.9.13版。

3.Python基础知识

推荐没有基础的猛新看这本书《Python编程——从入门到实践》,作者为美国学者埃里克.马瑟斯,由袁国忠先生翻译。

3.1 Python编译环境

不管是什么操作系统,对于初学者PyCharm都是比较好的python开发环境,第三方库的安装也比较方便。入门之后,你会发现在网页端实时调试的jupyter也很好用。

3.2 算术计算

主要是利用Python进行加、减、乘和除的算术运算,直接在Python控制台输入计算表达式即可输出结果。
例如:

// 加法运算
>>> 1 + 2
3

3.3 数据类型

这里和C及C++差不多,也分为int型、float型、字符串型(str)和常量等等。

3.4 变量

一般指自定义变量,主要是注意命名规则。规则如下:
(1)变量名只能包含字母、数字和下划线不能以数字开头
(2)变量名不能包含空格,可以使用下划线来分隔单词
(3)不要将Python中已有的关键字和函数名作为变量名,即不要使用Python保留用于特殊用途的单词
(4)变量名应简洁易懂
(5)慎用小写字母l和大写字母O,它们可能会被看成数字1和数字0。

3.5 列表

列表是由一系列按特定顺序排列的元素组成。代码举例如下:

#形式1
>>> Num = ['1', '2', '3']
>>> print(Num)
['1', '2', '3']
>>> print(Num[0])
1
#形式2
>>> Num = [1, 2, 3]
>>> print(Num)
[1, 2, 3]
>>> print(Num[0])
1

访问列表元素索引从0开始,如上述代码所示,访问第一个元素使用print(Num[0])而不是print(Num[1])。列表是可以修改的,包括添加、删减和改变元素,如果要创建不可修改的一系列元素可以使用元组

3.6 元组

元组的创建和列表类似,只是将方括号改为圆括号即可。举例如下:

>>> Num = (1, 2, 3)
>>> print(Num)
(1, 2, 3)
>>> print(Num[0])
1

3.7 字典

在Python中,字典是一系列键值对。每个键都与一个值相关联,可以使用键来访问相关联的值。举例如下:

>>> alien_0 = {'color': 'green', 'points': 5}
>>> print(alien_0['color'])
green
>>> print(alien_0['points'])
5

color与points是键,green与5分别是它们对应的值。

3.8 for语句

for语句循环语句的一种,多用于遍历。举例如下:

#输入
>>> magicians = ['alice', 'david', 'carolina']
>>> for magician in magicians:
...:	print(magician)
...:
#输出
alice
david
carolina

3.9 if语句

if语句条件判断语句的一种,举例如下:

#输入
>>> cars = ['audi', 'bmw', 'subaru', 'toyota']
>>> for car in cars:
...:    if car == 'bmw':
...:		print(car.upper())
...:	else:
...:		print(car.title())
#输出
Audi
BMW
Subaru
Toyota       

这里的upper函数代表字母大写化,title函数代表首字母大写化。

3.10 函数

函数是带名字代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用该函数。举例如下:

>>> def greet_user():print("Hello!")
...:print("hello")
hello

3.11 新建脚本文件

上述所有代码均在控制台完成,但对于复杂代码,控制台效率过低,新建脚本是个不错的方法。在编译环境新建**.py文件**,编写python代码,运行.py文件即可。需要注意的是,编写脚本文件要添加用到的第三方库,一般如下:

from ### import ###
import ### as ###

3.12 类

是用户在Python中自定义的数据类型,用关键字class来定义类。举例如下:

#根据 Dog 类创建的每个实例都将存储名字和年龄,我们赋予了每条小狗
#蹲下( sit())和打滚( roll_over())的能力:
class Dog:
"""一次模拟小狗的简单尝试。 """
	def __init__(self, name, age):
"""初始化属性 name 和 age。 """
		self.name = name
		self.age = age
	def sit(self):
"""模拟小狗收到命令时蹲下。 """
		print(f"{self.name} is now sitting.")
	def roll_over(self):
"""模拟小狗收到命令时打滚。 """
		print(f"{self.name} rolled over!")

3.13 Numpy

深度学习中常用到的数组计算和矩阵计算要涉及到Numpy库的使用,举例如下:

>>> x = np.array([1.0, 2.0, 3.0])
>>> y = np.array([2.0, 4.0, 6.0])
>>> x + y # 对应元素的加法
array([ 3., 6., 9.])
>>> x - y
array([ -1., -2., -3.])
>>> x * y # element-wise product
array([ 2., 8., 18.])
>>> x / y
array([ 0.5, 0.5, 0.5])

3.14 画图

画图一般使用matplotlib库,举例如下:

import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.arange(0, 6, 0.1) # 以0.1为单位,生成0到6的数据
y = np.sin(x)
# 绘制图形
plt.plot(x, y)
plt.show()

输出:
y = sin(x)

总结

以上就是今天要讲的深度学习入门知识第一章的内容,本文创作不易,都看到这里了点个赞再走吧,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峰回路转99A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值