-
Notifications
You must be signed in to change notification settings - Fork 14
machine learning example
lanzhiwang edited this page Oct 13, 2018
·
34 revisions
- 利用 TensorFlow 实现线性回归模型
- 利用 TensorFlow 实现逻辑回归模型
- 利用 TensorFlow 构建卷积神经网络CNN
- 利用 TensorFlow 构建循环神经网络RNN
- 使用 tensorflow.contrib.learn 实现线性回归模型
- 使用 tensorflow.contrib.learn 实现 DNN 分类器模型
- TensorFlow 分布式
- 参考
-
实现步骤:
- 定义数据输入
- 定义真实期望的权重
- 定义真实期望的偏差
- 定义随机噪声(可选)
- 通过输入、真实期望权重、真实期望偏差、随机噪声计算真实期望输出
- ########
- 定义输入占位符
- 定义真实期望输出占位符
- 定义训练权重变量
- 定义训练偏差变量
- 定义训练得到的输出
- ########
- 定义损失函数(使用 MSE(均方误差) 作为损失函数,计算
真实期望输出
和训练输出
的均方误差) - 定义学习速率
- 定义优化器,使用随机梯度下降
- ########
- 计算最小误差值
-
实现步骤:
- 定义数据输入
- 定义真实期望的权重
- 定义真实期望的偏差
- 通过输入、真实期望权重、真实期望偏差计算真实期望输出
计算真实期望输出归一化后的结果
- ########
- 定义输入占位符
- 定义真实期望输出归一化占位符
- 定义训练权重变量
- 定义训练偏差变量
- 定义训练得到的输出
- ########
- 定义损失函数(使用交叉熵作为损失函数,计算真实期望输出归一结果与训练得到的输出的相似性)
- 定义学习速率
- 定义优化器,使用随机梯度下降
- ########
- 计算最大相似性
-
实现步骤(以mnist图像数据为例):
- 定义图像输入数据(网络下载的数据,不需要特征提取)
- ########
- 定义输入图像占位符
- 定义正确的分类标签占位符
- 将输入图像占位符数据reshape
- ########
- 第一层卷积操作
- 将结果池化
- 第二层卷积操作
- 将结果池化
- 将图像数据平整为一维向量形式
- 进行全连接操作
- 进行随机丢弃操作
- 得到训练结果
- ########
- 定义损失函数(使用交叉熵作为损失函数)
- 使用梯度下降法定义训练过程
- 定义评估步骤,用来测试模型的准确率
-
实现步骤:
- 处理数据输入
- 定义相关变量和占位符
- 使用 tf.scan() 方法实现RNN网络训练
- 将RNN网络训练结果馈入线性全连接
- 评估网络模型准确性
-
实现步骤:
- 处理数据输入
- 定义相关变量和占位符
- 使用 tf.contrib.rnn.BasicRNNCell() 和 tf.nn.dynamic_rnn() 方法实现RNN网络训练
- 将RNN网络训练结果馈入线性全连接
- 评估网络模型准确性
-
实现步骤:
- 处理数据输入
- 定义相关变量和占位符
- 使用 tf.contrib.rnn.BasicLSTMCell() 和 tf.nn.dynamic_rnn() 方法实现RNN网络训练
- 将RNN网络训练结果馈入线性全连接
- 评估网络模型准确性
-
实现步骤:
-
使用 learn.LinearRegressor() 实例化线性回归模型,并提供关于数据表征和优化器类型的知识
-
使用.fit() 对回归器regressor对象进行训练。向它传递协变量和目标变量,并设置步数和批量大小
-
使用.evaluate() 计算MSE
-
-
分布式 TensorFlow 基本要素:
Notes:
-
卷积神经网络(CNN) - CNN主要处理具有空间结构的数据,例如图片
-
循环神经网络(RNN) - RNN主要处理序列数据
- 长短期记忆(LSTM)
-
深度神经网络(DNN)
-
Awesome huzhi
-
Python
-
Linux
-
MySQL
-
Component
-
分布式
-
PHP
-
go
-
Android 逆向
-
机器学习
-
计算机基础
-
JavaScript
-
Internet Awesome
-
Other
-
Book