Tensorflow 损失函数

分类问题和回归问题是监督学习的两大类。

回归问题常用的损失函数为均方误差(MSE,mean squared error)

\frac{\sum_{i=1}^{n}\left ( y-y_p \right )^{2}}{n}

import tensorflow as tf
from tensorflow import keras
#通过函数方式计算均方差
o = tf.random.normal([2,10]) # 构造网络输出
y_onehot = tf.constant([1,3]) # 构造真实值
y_onehot = tf.one_hot(y_onehot, depth=10)
loss = keras.losses.MSE(y_onehot, o) # 计算均方差,返回的是每个样本的均方差
loss = tf.reduce_mean(loss) # 计算batch 均方差
import tensorflow as tf
from tensorflow import keras
#通过层方式计算均方差
o = tf.random.normal([2,10]) # 构造网络输出
y_onehot = tf.constant([1,3]) # 构造真实值
y_onehot = tf.one_hot(y_onehot, depth=10)
mseloss = keras.losses.MeanSquaredError()
loss = mseloss(y_onehot,o) # 计算batch均方差

分类问题常用的损失函数为交叉熵函数(cross entropy)

-\sum y*log^{y_p}

tensorflow实现过程:

# y为正确结果,y_pred为预测结果
loss = -tf.reduce_mean(y*tf.log(tf.clip_by_value(y_pred, 1e-10, 1.0)))
发布了93 篇原创文章 · 获赞 2 · 访问量 3047

猜你喜欢

转载自blog.csdn.net/qq_40041064/article/details/104752719
今日推荐