数据科学、数据分析、人工智能必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/140174015 |
---|
数据科学、数据分析、人工智能必备知识汇总-----机器学习-----主目录-----持续更新:https://blog.csdn.net/grd_java/article/details/144257225 |
---|
b站,炮哥带你学:https://www.bilibili.com/video/BV1eP411w7Re |
---|
一、简介与环境搭建
1. 环境搭建
既然你已经进入到学习深度学习的阶段了,那么默认你python基础肯定没有问题,而集成开发工具pycharm早已经开关百遍
但是因为深度学习每个项目可能所需的环境都不一样,所以我们需要额外的工具——anaconda
找到anaconda的官网并下载安装完成后,接下来介绍一些操作,日后不在赘述
创建一个新环境 |
---|
默认的环境是base,那么我们既然下载了anaconda来管理不同环境,就必须学会如何创建一个环境
- 安装成功后,运行Anaconda Prompt
- 这里给出一个python3.8版本的环境例子
- python==3.8
- tensorflow==2.4.0
- keras==2.4.3
- numpy==1.19.5
- pandas==1.3.5
- matplotlib==3.4.2
- sklearn==0.0
- 依据上面的例子,接下来我们开始操作。首先创建一个名字为
keras
的环境,基础python为3.8起名keras是因为我们要使用keras,目前大家都用pytorch比较多,之后会主要使用pytorch实战。但是基础阶段,keras更加简单,便于我们将心思集中于基础,而不是如何使用自由度更高但也更复杂的pytorch。
conda create -n keras python==3.8
- 查看我们现有的环境,是否除了默认的base外,多了一个keras
conda env list
- 为我们的keras环境安装我们需要的包
- 首先进入keras环境
activate keras
- 安装TensorFlow,下面会给出使用豆瓣源和阿里源安装的命令,如果对自己网速有信心,可以直接使用pip install tensorflow==2.4.0安装,而不指定豆瓣源
# 阿里源
pip install tensorflow==2.4.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 豆瓣源
pip install tensorflow==2.4.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
- 按照上诉步骤依次安装其余的包
pip install keras==2.4.3 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install numpy==1.19.5 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install pandas==1.3.5 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install matplotlib==3.4.2 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install sklearn==0.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- 可以通过pip list命令确定是否安装了对应的包
如何与pycharm联动呢?pycharm如何使用这个环境呢? |
---|
- 进入pycharm,右下角可以选择添加环境
- 选择conda环境,配置conda.exe文件
- 配置好后,点击加载环节,我们就可以使用我们存在的环境keras了
2. 深度学习简介
- 人工智能包括机器学习,而深度学习是由机器学习中的一个分支神经网络而来
2. 深度学习是以神经网络为基础的一个学科- 人工智能的概念早在1958年就提出了
- 早期提出人工智能概念的时候,计算机计算能力及其有限,计算机科学家们很难将自已提出的想法实现
- 时至今日,计算机的性能已经大幅度的提升,相对应的人工智能研究领域也在不断的扩大,目前人工智能最主要的几个领域为专家系统、机器学习、计算机视觉、自然语言处理、推荐系统等
传统系统和深度学习的区别 |
---|
- 传统系统中,我们要事先将规则设定好,然后根据输入,按规则输出
- 深度学习中,我们要将批量的数据中正确的答案告诉模型,例如我们有一堆图片,我们要告诉模型,哪些是猫,哪些是狗。
- 最终,模型会根据我们的答案进行训练,最终训练出一个认识猫和狗的模型
- 而模型具备泛化性,例如我们成功训练出一个模型,可以分辨哪些图片是猫,此时我们给一张它从没有见过的图片,他依然可以判断这张图片是不是猫。
和人类学习一个东西差不多啦!先教,然后让它练习,然后巩固,最终它就可以举一反三(泛化性)了
神经网络 |
---|
- 起源于生物学,人类大脑的神经元就是将信息不断地通过一个神经元传递给另一个神经元进行学习。一个神经元可能会将信息传递给多个其它神经元
- 而我们的深度学习神经网络就非常类似于人类的神经系统
- 上图中,我们可以看到,随着计算机性能的提升,我们的深度神经网络可以拥有多个隐藏层。但是并不是隐藏层越多,模型就越优秀
例如一个很简单的问题,你用一个特别复杂的模型去学,很容易就会过拟合(失去了举一反三的能力,可以理解为练的太多,思维已经被局限了)
(w,b) |
---|
- w是权重,例如100组关于猫的参数,耳朵是否重要,用于描述不同神经元之间的连接强度
- b是偏置,是附近参数,用于调整神经元的输出,类似于线性方程中的截距项。使得神经元的输出可以偏离原点。使得神经网络能够学习更加复杂的函数关系
- 可以看到,一开始特征和权重是很整齐的。
- 通过训练,每个参数特征有了不一样的权重
可以做什么? |
---|
- 计算机视觉领域
- 图像识别
- 目标检测
- 自动驾驶
- 自然语言处理领域
- 语言识别
- 机器翻译
- 人机对话
- 其他领域
- 智慧医疗
- 推荐系统
- 智慧交通
机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA 序列测序、语音和手写识别、战略游戏和机器人等领域
深度学习的框架 |
---|
深度学习有很多模型,如果从头搭建是十分麻烦的,一般这些模型的原理我们掌握即可,但没必要每次都自己去实现。那么谁来帮我们实现呢?就可以用到别人封装好的框架,我们直接调用即可。
- TensorFlow+Keras:keras现如今已经集成到tensorflow里面了,特点就是搭建模型及其简单,非常适合想要快速验证模型的小伙伴,我们介绍基础概念时也会使用Keras配合TensorFLow进行,因为简单易用
- PyTorch:是主流的框架,用的人非常多,和Keras不同,Keras虽然简单易用,但可定制性没有PyTorch高。
二、线性回归与梯度下降法
由于篇幅原因,将其放在另一篇文章:https://blog.csdn.net/grd_java/article/details/143945508 |
---|
- 线性回归模型定义和穷举法
- 最小二乘法
- 求偏导
- 向量形式,矩阵求导
- 梯度下降法
- 代码实现
三、逻辑回归
由于篇幅原因,将其放在另一篇文章: |
---|
- 逻辑回归算法原理
- 参数w更新计算
- 参数b更新计算
- 分类和回归模型评价指标
- 逻辑回归实战(数据预处理和模型训练以及测试)
四、全连接神经网络
由于篇幅原因,将其放在另一篇文章: |
---|
- 全连接神经网络的整体结构
- 激活函数的作用
- 神经网络激活函数
- 全连接神经网络前向传播
- 神经网络的损失函数
- 链式法则
- 全连接神经网络反向传播
- 实战——乳腺癌分类
- 实战——空气质量预测
五、卷积神经网络
由于篇幅原因,将其放在另一篇文章: |
---|
- 图像在计算机中的本质
- 卷积神经网络的整体结构
- 卷积运算及其权重共享
- 填充和步幅运算
- 多通道卷积运算
- 池化运算
- LNET-5网络模型
- 实战——缺陷分类
六、循环神经网络
由于篇幅原因,将其放在另一篇文章: |
---|
- RNN神经网络
- LSTM
- LSTM如何缓解梯度消失
- 基于LSTM黄金价格的预测