TensorFlow目前是数值计算的最佳开源库,它使机器学习更快更容易。在这篇文章中,您将学习机器学习中使用的一些损失函数。
损失函数在机器学习领域非常重要。它们用作测量模型预测输出Y_out与ground truth标签Y之间的距离或差异的方法,以有效地训练我们的模型。
下面是一些重要的Loss函数,它们都是使用Tensorflow库实现的。
为了了解不同的损失函数如何执行,我们将使用Matplotlib(python绘图库)对它们进行可视化。
# Import libraries
import matplotlib.pyplot as plt
import tensorflow as tf
#Start a tensorflow session
sess = tf.Session()
# Create our sample data from a line space
Y_pred = tf.linspace(-1., 1., 500)
#Create our target as a zero constant tensor
Y_truth = tf.constant(0.)
注意:我们创建自己的样本数据,仅用于可视化。在实践中,您使用了真实世界的数据和标签。
回归算法的损失函数
回归算法只是将连续数预测为输出的算法。即输出没有有限的范围。
- L2范数损失/欧几里德损失函数
这就是预测值与真实值之间的差/距离的平方。L2范数损失是好的,因为它似乎收敛于目标。实现这一点可以使算法在接近目标时更慢地收敛,避免超过最小值。
#Calculating the L2 loss
val = tf.square(Y_truth - Y_pred)
L2_val = sess.run(val)
#ploting the predicted values against the L2 loss
Y_array = sess.run(Y_pred)
plt.plot(Y_array, L2_val, 'b-', label='L2 loss' )
plt.title('L2 loss')
plt.xlabel('$Y_{pred}