精华内容
下载资源
问答
  • tf.losses.mean_squared_error函数浅析

    千次阅读 2021-01-09 01:35:16
    tf.losses.mean_squared_error函数解读 数据 tf.losses.mean_squared_error函数用于求MSE 验证 结论 数据 在实际情况中,假设我们训练得到的label是类似(a, b)的二维坐标点,这里我们用变量labels代表数据原有的标签...

    tf.losses.mean_squared_error函数解读

    数据

    在实际情况中,假设我们训练得到的label是类似(a, b)的二维坐标点,这里我们用变量labels代表数据原有的标签,用pred代表训练得到的输出,数据用array,np.float32的格式表示。

    import numpy as np
    
    #Original labels for data
    labels = np.array([[-3.087136  ,  0.773723  ],
           [ 0.5237208 , -2.3611534 ],
           [ 0.12045471,  0.23965162],
           [ 2.037887  ,  2.9082034 ],
           [ 1.630416  ,  4.253656  ],
           [ 1.581672  , -0.90316653],
           [ 2.1582973 ,  5.3201227 ],
           [-0.6064952 , -0.3148525 ],
           [-3.6611197 ,  1.844364  ],
           [-2.095178  , -4.3820047 ]], dtype=np.float32)
           
    #Predicted result from the model  
    pred = np.array([[-3.6970375 ,  0.61645496],
           [ 0.5356902 , -2.699189  ],
           [ 0.53962135,  0.28041327],
           [ 2.0638177 ,  2.8185306 ],
           [ 1.5602324 ,  4.3334904 ],
           [ 1.8943653 , -1.141346  ],
           [ 2.102385  ,  5.4475656 ],
           [-0.88059306, -0.72823447],
           [-4.00045   ,  1.6507398 ],
           [-2.4099615 , -4.7156816 ]], dtype=np.float32)
    

    tf.losses.mean_squared_error函数用于求MSE

    我们用以下代码求MSE:

    import tensorflow as tf
    
    #Definition
    y = tf.placeholder("float32", [None, 2])
    x = tf.placeholder("float32", [None, 2])
    cost = tf.losses.mean_squared_error(labels=y , predictions=x, weights=1)
    
    #Initializer
    init = tf.global_variables_initializer()
    
    #Session
    with tf.Session() as sess:
        sess.run(init)
        loss = sess.run([cost], feed_dict={y: labels, x: pred})
        print(loss)
    

    运行以上代码,我们得到了这样的输出:

    [0.07457263]
    

    接下来我们自己写一个函数来验证tf.losses.mean_squared_error()函数的功能。

    验证

    这里因为楼主知道数据是二维的,所以写得简单了一些,主要目的是为了让大家更直观理解函数性质。

    def simulated_mean_squared_error(x, y): #For two dimensional data
        m=(x-y)**2
        error=0
        count=0
        for i in m:	#这里因为楼主提前知道数据是二维的,所以写了两个for loop
            for j in i:
             error+=j
             count=count+1
        error=error/count
        return error
    

    然后根据我们的数据,得出模拟的结果:

    loss = simulated_mean_squared_error(pred, labels)
    print(loss)
    
    0.07457262602765695
    

    Exactly, 得到了相同的result。

    结论

    所以,根据比较我们可知,对于类似的像我们这里用的10*2维度的数据来说,tf.losses.mean_squared_error函数的功能就是先对于给定的两组数据做差,然后再进行elementwise的平方,最后进行elementwise相加并除以总element的个数(比如在此例中是除以20)。

    展开全文
  • 均方误差损失函数(MSE,mean squared error 回归问题解决的是对具体数值的预测,比如房价预测、销量预测等等,解决回归问题的神经网络一般只有一个输出节点,这个节点的输出值就是预测值。本文主要介绍回归问题下的...

    均方误差损失函数(MSE,mean squared error)

    回归问题解决的是对具体数值的预测,比如房价预测、销量预测等等,解决回归问题的神经网络一般只有一个输出节点,这个节点的输出值就是预测值。本文主要介绍回归问题下的损失函数——均方误差(MSE,mean squared error)。
    公式如下:
    在这里插入图片描述

    Pyorch实现的MSE

    import torch
    import numpy as np
    
    loss_fn = torch.nn.MSELoss(reduce=False, size_average=False)
    
    a=np.array([[1,2],[3,4]])
    b=np.array([[2,3],[4,5]])
    
    input = torch.autograd.Variable(torch.from_numpy(a))
    target = torch.autograd.Variable(torch.from_numpy(b))
    
    loss = loss_fn(input.float(), target.float())
    print(input.float())
    print(target.float())
    
    print(loss)
    

    在这里插入图片描述

    a=np.array([[1,2],[3,4]])
    b=np.array([[2,3],[4,6]])
    
    loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
    
    input = torch.autograd.Variable(torch.from_numpy(a))
    target = torch.autograd.Variable(torch.from_numpy(b))
    
    loss = loss_fn(input.float(), target.float())
    print(input.float())
    print(target.float())
    print(loss)
    

    在这里插入图片描述

    展开全文
  • from sklearn.metrics import mean_absolute_percentage_error

     

    因为模型评估中要用到mean_absolute_percentage_error

    于是开始导入from sklearn.metrics import mean_absolute_percentage_error

    纳尼,居然报错了,sklearn包安装了呀,而且版本不低

    而且 from sklearn.metrics import mean_squared_error 导入没错

     

    原来问题出在源脚本

    发现metric文件夹中mean_absolute_percentage_error所归属的 Python36\Lib\site-packages\sklearn\metrics\regression.py 文件中,没有mean_absolute_percentage_error函数python脚本,有mean_squared_error函数的脚本,所以问题出在源包脚本漏写问题

     

    解决方法:

    1、从sklearn的GitHub源码中https://github.com/scikit-learn/scikit-learn/blob/2beed5584/sklearn/metrics/_regression.py#L197 ,把mean_absolute_percentage_error这部分的脚本拷贝到自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics\regression.py 文件中,

    2、在自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics文件夹中,找到__init__.py文

    件,

        --增加一行  from .regression import mean_absolute_percentage_error

        --   把包名称添加上

    就这样问题被解决

     

     

    展开全文
  • from sklearn.metrics import mean_absolute_percentage_error y_true = [3, -0.5, 2, 7] y_pred = [2.5, 0.0, 2, 8] mean_absolute_percentage_error(y_true, y_pred) 的时候,报以下错误’ -------------------...

    1 问题描述

    使用

    from sklearn.metrics import mean_absolute_percentage_error
    y_true = [3, -0.5, 2, 7]
    y_pred = [2.5, 0.0, 2, 8]
    mean_absolute_percentage_error(y_true, y_pred)

    的时候,报以下错误’

    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    <ipython-input-1-34105c3fc0d6> in <module>
    ----> 1 from sklearn.metrics import mean_absolute_percentage_error
          2 y_true = [3, -0.5, 2, 7]
          3 y_pred = [2.5, 0.0, 2, 8]
          4 mean_absolute_percentage_error(y_true, y_pred)
    
    ImportError: cannot import name 'mean_absolute_percentage_error' from 'sklearn.metrics' (c:\users\16000\appdata\local\programs\python\python37\lib\site-packages\sklearn\metrics\__init__.py)

    问题出在源脚本。发现metric文件夹中mean_absolute_percentage_error所归属的_regression.py文件中,没有mean_absolute_percentage_error函数

    2 解决方法

    • 从sklearn的GitHub源码中 ,把mean_absolute_percentage_error这部分的脚本拷贝到自己电脑安装sklearn包的_regression.py文件中

    scikit-learn/_regression.py at 2beed55847ee70d363bdbfe14ee4401438fba057 · scikit-learn/scikit-learn · GitHub

    • 在自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics文件夹中,找到__init__.py文

      件,增加一行 

      from ._regression import mean_absolute_percentage_error

    然后就ok了 

    展开全文
  • sklearn.metrics.mean_absolute_error

    千次阅读 2018-10-30 18:01:00
    注意多维数组 MAE 的计算方法 * ... from sklearn.metrics import mean_absolute_error >>> y_true = [3, -0.5, 2, 7] >>> y_pred = [2.5, 0.0, 2, 8] >>> mean_absolute_error(y_true, ...
  • K近邻算法np.abs()函数pd.sample()参数含义pd.str同时去掉分隔符和货币符号新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建...
  • Pytorch 损失函数 Mean Squared Error

    千次阅读 2019-07-29 17:59:36
    Mean Squared Error(MSE)即均方误差,常用在数值型输出上: 其中θ是网络的参数,取决于使用的网络结构,例如如果只是普通的线性感知器,那么: 注意MSE和L2范数相比,L2范数是做了开平方操作的,所以如果要使用...
  • 1.均方差损失函数(Mean Squared Error) 均方差损失函数是预测数据和原始数据对应点误差的平方和的均值。计算方式也比较简单 MSE=1N(y^−y)2MSE = \frac{1}{N}(\hat y - y) ^ 2MSE=N1​(y^​−y)2 其中,N为样本个数...
  • 文章目录一、简介二、数学推导2.1 导数计算首先求解 bbb:然后求解 www:三、代码实现3.1 python 代码实现3.2 torch 代码实现参考资料 一、简介 欧氏距离损失经常用在线性回归问题...预测函数为:f(xi)=yi^=wxi+b
  • Mean squared error MSE即方差

    万次阅读 2017-11-04 09:55:53
    均方误差 (Mean Squared Error)均方误差  MSE是网络的性能函数,网络的均方误差,叫"Mean Square Error"。比如有n对输入输出数据,每对为[Pi,Ti],i=1,2,...,n.网络通过训练后有网络输出,记为Yi。 在相同测量...
  • 损失函数loss总结

    千次阅读 2019-05-07 11:10:47
    model.compile(loss='mean_squared_error', optimizer='sgd') 可以通过传递预定义目标函数名字指定目标函数,也可以传递一个Theano/TensroFlow的符号函数作为目标函数,该函数对每个数据点应该只返回一个标量值,...
  • 损失函数是通过keras已经封装好的函数进行的线性组合, 如下:def spares_mse_mae_2scc(y_true, y_pred):return mean_squared_error(y_true, y_pred) + categorical_crossentropy(y_true, y_pred) + 2 * mean_absolute...
  • 机器学习常用误差函数_sklearn.metrics

    千次阅读 2020-08-05 19:56:56
    1. Max error_最大误差,数学表达式 from sklearn.metrics import max_error y_true = [3, 2, 7, 1] y_pred = [9, 2, 7, 1] ...2. Mean absolute error_平均绝对误差,数学表达式 from sklea...
  • mean_squared_error from myML.metrics import mean_absolute_error mean_squared_error(y_test, y_test_predict) # 结果 24.156602134387402 root_mean_squared_error(y_test, y_test_predict) # 结果 4....
  • 模型评估-性能度量(回归问题)

    千次阅读 2019-05-30 22:05:18
    均方误差(mean squared error)是回归问题中最常用的性能度量。 【计算公式】: E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f; D) = \frac{1}{m}\sum_{i=1}^{m}(f(x_i) - y_i)^2 E ( f ; D ) = ...
  • 一.引言: 之前提到过自定义Loss与metrics,下面盘点下常用的损失函数供今后自定义损失函数使用。 二.常见损失函数 ...1. MAE 平均绝对误差 (mean-absolute... loss = tf.reduce_mean(tf.losses.mean_absolute_error(..
  • 在对回归问题进行预测的时候,基于 sklearn 有两种方法可以调用评估指标,一种是直接使用模型评估模块 metrics 里面的类 mean_squared_errormean_absolute_error 即可。 另一种是通过调用交叉验证类 cross_val_...
  • 什么是损失函数keras提供的损失函数 损失函数(loss function)就是用来衡量预测值和真实值的差距的函数,是模型优化的目标,所以也叫目标函数、优化评分函数。 keras中的损失函数在模型编译时指定: from ...
  • 本文试图将四类最基础也最常用的损失函数进行统一归纳,以明白各自的区别,加深对他们的记忆和理解。 本文会从两个步骤分析损失函数,第一个是从输入到模型的输出,第二个是从模型的输出到损失函数的计算。 第一个...
  • 对于一个给定的训练集数据,线性回归的目的就是找到一个与这些数据最吻合的线性函数。 针对线性回归算法在之前的数模案例也有涉及喔,欢迎去看看上一篇博客数学建模预测模型实例–大学生体测数据模型 OLS线性回归 ...
  • 一文总结Keras的loss函数和metrics函数

    千次阅读 2020-04-22 19:17:00
    keras.losses.mean_squared_error(y_true, y_pred) 用法很简单,就是计算均方误差平均值,例如 loss_fn = keras.losses.mean_squared_error a1 = tf.constant([1,1,1,1]) a2 = tf.constant([2,2,2,2]) loss_fn(a1...
  • keras model.compile(loss='目标函数 ', optimizer=‘adam’, metrics=[‘accuracy’]) 深度学习笔记 目标函数的总结与整理 ...mean_squared_error或mse mean_absolute_error或mae mean_absolute_percentage_err
  • keras中内置的多种损失函数

    千次阅读 2018-10-26 13:10:14
    详细讲解 keras中的损失函数  mean_squared_error  mean_absolute_error  mean_absolute_percentage_error  mean_squared_logarithmic_error  squared_hinge  hinge  ...
  • 'fowlkes_mallows_score', 'homogeneity_score', 'mutual_info_score', 'neg_log_loss', 'neg_mean_absolute_error', 'neg_mean_squared_error', 'neg_mean_squared_log_error', 'neg_median_absolute_error', '...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,072
精华内容 5,228
关键字:

mean_squared_error函数