• tf常见的损失函数(LOSS)总结


    运算公式

    1、均方差函数
    均方差函数主要用于评估回归模型的使用效果,其概念相对简单,就是真实值与预测值差值的平方的均值,具体运算公式可以表达如下:

    [Q=frac{1}{m}sum_{i=1}^{m}(f(x_i)-y_i)^2 ]

    其中(f(x_i))是预测值,(y_i)是真实值
    在二维图像中,该函数代表每个散点到拟合曲线y轴距离的总和,非常直观。


    2、交叉熵函数
    出自信息论中的一个概念,原来的含义是用来估算平均编码长度的。在机器学习领域中,其常常作为分类问题的损失函数。

    [Q=-frac{1}{m}sum_{i=1}^{m}(y_ilog(f(x_i))+(1-y_i)los(1-f(x_i))) ]

    其中(f(x_i))是预测值,(y_i)是真实值
    交叉熵函数是怎么工作的呢?假设在分类问题中,被预测的物体只有是或者不是,预测值常常不是1或者0这样绝对的预测结果,预测是常用的做法是将预测结果中大于0.5的当作1,小于0.5的当作0。此时假设如果存在一个样本,预测值接近于0,实际值却是1,那么在交叉熵函数的前半部分:

    [y_ilog(f(x_i)) ]

    其运算结果会远远小于0,取符号后会远远大于0,导致该模型的损失函数巨大。通过减小交叉熵函数可以使得模型的预测精度大大提升。


    tensorflow种损失函数的表达
    1、均方差函数

    loss = tf.reduce_mean(tf.square(logits-labels))
    loss = tf.reduce_mean(tf.square(tf.sub(logits, labels)))
    loss = tf.losses.mean_squared_error(logits,labels)
    

    2、交叉熵函数

    loss = tf.nn.sigmoid_cross_entropy_with_logits(labels=y,logits=logits)
    #计算方式:对输入的logits先通过sigmoid函数计算,再计算它们的交叉熵
    #但是它对交叉熵的计算方式进行了优化,使得结果不至于溢出。
    loss = tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=logits)
    #计算方式:对输入的logits先通过softmax函数计算,再计算它们的交叉熵,
    #但是它对交叉熵的计算方式进行了优化,使得结果不至于溢出。
    
  • 相关阅读:
    Tkinter的Radiobutton组件
    Tkinter的Canvas组件
    python小程序-日历查询器
    python语言Tkinter的Button组件
    python异常处理机制(try:except)
    python中OS模块的使用
    正则表达式-常用函数的基本使用
    正则表达式-常用元字符的基本使用
    html框架iframe与frameset的介绍
    常见form表单5种input输入类型
  • 原文地址:https://www.cnblogs.com/nanjibin/p/14893549.html
Copyright © 2020-2023  润新知