【Tensorflow深度学习】优化算法、损失计算、模型评估、向量嵌入、神经网络等模块的讲解(超详细必看)

简介: 【Tensorflow深度学习】优化算法、损失计算、模型评估、向量嵌入、神经网络等模块的讲解(超详细必看)

觉得有帮助请点赞关注收藏~~~

一、优化算法

1)Adam算法: 基于一阶或二阶动量(Moments)的随机梯度下降算法,动量是非负超参数,主要作用是调整方向梯度下降并抑制波动。此算法适用于数据量和参数规模较大的场合。

(2)SGD算法: 动量梯度下降算法。

(3)Adagrad算法: 学习率与参数更新频率相关。

(4)Adamax算法:Adam算法的扩展型,词嵌入运算有时优于Adam算法。

(5)Ftrl算法:谷歌发明的算法,适用于大稀疏特征空间的场合。

(6)Nadam算法: 基于Adam算法,使用Nesterov动量。

(7)RMSprop算法:基于梯度平方均值。

(8)Adadelta算法:使用随机梯度下降算法和自适应学习率,避免训练过程中学习率持续劣化以及手动设定问题。

二、损失计算

Tensorflow的keras.losses库中定义了各种损失值得运算类,下面重点介绍常用的几种

(1)CategoricalCrossentropy类: 计算标签和预测值之间的交叉熵损失(Crossentropy Loss)。

(2)SparseCategoricalCrossentropy类: 原理与CategoricalCrossentropy类似。比较适用于有两个及以上标签类别的场景,如果运算基于独热表示标签,更适合使用CategoricalCrossentropy损失。

(3) BinaryCrossentropy类: 类似CategoricalCrossentropy,适用于0或者1二分类的场合。

(4)MeanSquaredError类:计算标签和预测值之间的误差平方均值。

(5)MeanAbsoluteError类:计算标签和预测值之间的绝对误差均值。

(6)Hinge类:计算真实值和预测值之间的铰链损失。

三、模型评估

Tensorflow的keras.metrics库中定义了模型评估指标 下面介绍几种代表性指标

(1)AUC类:代表Area Under The Curve,计算ROC 的曲线下面积。

(2)MeanSquaredError类:计算预测值和真实值的误差平方均值。

(3)MeanAbsoluteError类:计算标签值和预测值的误差绝对均值。

(4)Accuracy类:计算标签值和预测值相同的频率。

(5)CategoricalCrossentropy类: 计算标签和预测值之间的交叉熵。

(6)SparseCategoricalCrossentropy类: 原理与CategoricalCrossentropy类似,比较适用于有两个及以上标签类别的场景

四、向量嵌入

机器学习模型将向量作为输入,因此在将字符串输入模型之前需要将字符串转换为数值向量,也称为词嵌入。词嵌入提供了一种高效表示的方法,其中相似的词具有相似的编码,在处理大型数据集时,通常会看到多维的词嵌入处理,高纬度嵌入可以体现词间的细粒度关系,但需要更多的数据来学习

Embedding(    input_dim, output_dim, embeddings_initializer,    embeddings_regularizer, activity_regularizer,    embeddings_constraint, mask_zero, input_length, **kwargs )

主要参数说明:

input_dim:词语大小;

output_dim:嵌入维度;

embeddings_initializer:嵌入矩阵初始值;

embeddings_regularizer:嵌入矩阵调整函数;

embeddings_constraint:嵌入矩阵限定函数;

mask_zero:布尔值,判断是否零作为填充;

input_length:输入序列长度。

五、神经网络

门控机制基于循环神经网络,门控循环单元网络(GRU)类似于附带遗忘门的长短期记忆网络,但参数比后者少,门控循环单元网络在自然语言处理的部分性能能与长短期记忆网络相似,在较小数据集上的分析效果比较突出 语法定义如下

GRU(units, activation, recurrent_activation,    use_bias, kernel_initializer,recurrent_initializer,    bias_initializer, kernel_regularizer,    recurrent_regularizer, bias_regularizer, activity_regularizer,kernel_constraint, recurrent_constraint, bias_constraint,dropout, recurrent_dropout, return_sequences, return_state,go_backwards, stateful, unroll, time_major,    reset_after, **kwargs)

主要参数说明:

·  units:输出空间维度;

·  Activation:激活函数;

·  recurrent_activation:重复激活函数;

·  use_bias:偏置量标识;

·  kernel_initializer:权重矩阵初始化;

·  dropout:输入的丢弃率,介于0和1之间;

·  go_backwards:逆向处理输入序列。

创作不易  觉得有帮助请点赞关注收藏~~~

相关文章
|
7天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
116 73
|
16天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
92 36
|
10天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
49 21
|
12天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品消费偏好预测的深度学习模型
使用Python实现智能食品消费偏好预测的深度学习模型
52 23
|
13天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费习惯预测的深度学习模型
使用Python实现智能食品消费习惯预测的深度学习模型
56 19
|
14天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
71 18
|
4天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
26 3
|
4天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
21 2
|
14天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现深度学习模型:智能食品消费行为预测
使用Python实现深度学习模型:智能食品消费行为预测
55 8
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费模式预测的深度学习模型
使用Python实现智能食品消费模式预测的深度学习模型
37 2