1深度学习介绍
1.1深度学习与机器学习的区别
1.1.1特征提取方面
机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,将数据从一层传递到另一层来构建更复杂的模型。通过训练大量数据自动得出模型,不需要人工特征提取环节。
深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。
适合用在难提取特征的图像、语音、自然语言处理领域。
1.1.2 数据量和计算性能要求
机器学习需要的执行时间远少于深度学习,深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数。
第一、深度学习需要大量的训练数据集
第二、训练深度神经网络需要大量的算力
可能要花费数天、甚至数周的时间,才能使用数百万张图像的数据集训练出一个深度网络。所以深度学习通常
需要强大的GPU服务器来进行计算
全面管理的分布式训练与预测服务――比如谷歌TensorFlow云机器学习平台
1.1.3 算法代表
机器学习
朴素贝叶斯
决策树等
深度学习
神经网络
Tensorflow结构分析
TensorFlow程序通常被组织成一个构建图阶段和一个执行图阶段。
在构建阶段,数据与操作的执行步骤被描述成一个图。
在执行阶段,使用会话执行构建好的图中的操作。
图和会话︰
图:这是TensorFlow将计算表示为指令之间的依赖关系的一种表示法。
会话: TensorFlow跨一个或多个本地或远程设备运行数据流图的机制
张量:TensorFlow中的基本数据对象
节点:提供图当中执行的操作
import tensorflow.compat.v1 as tf #2.0版本不兼容
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
tf.compat.v1.disable_eager_execution() #2.0版本不兼容
def tensorflow_demo():
"""
TensorFlow的基本结构
:return:
"""
# 原生python加法运算
a = 2
b = 3
c = a + b
print("普通加法运算的结果:\n", c)
# TensorFlow实现加法运算,构建阶段,数据和操作的执行步骤被描述成一个图
a_t = tf.constant(2)
b_t = tf.constant(3)
c_t = a_t + b_t
print("TensorFlow加法运算的结果:\n", c_t)
# 开启会话,在执行阶段&#x