keras中的加权mse自定义损失函数

2023-12-31

我正在处理时间序列数据,输出未来 60 天的预测数据。

我目前使用均方误差作为我的损失函数,结果很糟糕

我想实现一个加权均方误差,使得早期的输出比后来的输出重要得多。

加权均方根公式:

因此,我需要某种方法来使用索引迭代张量的元素(因为我需要同时迭代预测值和真实值,然后将结果写入只有一个元素的张量。它们都是(?,60) 但实际上是 (1,60) 列表。

我所做的一切都不起作用。这是损坏版本的代码

def weighted_mse(y_true,y_pred):
    wmse = K.cast(0.0,'float')

    size = K.shape(y_true)[0]
    for i in range(0,K.eval(size)):
        wmse += 1/(i+1)*K.square((y_true[i]-y_pred)[i])

    wmse /= K.eval(size)
    return wmse

我目前收到此错误,结果是:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'dense_2_target' with dtype float
 [[Node: dense_2_target = Placeholder[dtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

阅读了对类似帖子的回复后,我认为掩码无法完成任务,并且循环一个张量中的元素也不起作用,因为我无法访问另一个张量中的相应元素。

任何建议,将不胜感激


您可以使用这种方法:

def weighted_mse(yTrue,yPred):

    ones = K.ones_like(yTrue[0,:]) #a simple vector with ones shaped as (60,)
    idx = K.cumsum(ones) #similar to a 'range(1,61)'


    return K.mean((1/idx)*K.square(yTrue-yPred))

指某东西的用途ones_like with cumsum允许您将此损失函数用于任何类型(samples,classes)输出。


提示:始终使用后端功能 https://keras.io/backend/使用张量时。您可以使用切片,但避免迭代。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

keras中的加权mse自定义损失函数 的相关文章

  • 只使用 Django 的某些部分?

    我喜欢 Django 但对于一个特定的应用程序 我只想使用它的一部分 但我对 Django 的内部工作原理还不够熟悉 所以也许有人可以指出我必须做什么的正确方向查看 具体来说 我想使用 模型和数据库抽象 The 缓存API http doc
  • 重新索引错误没有意义

    I have DataFrames大小在 100k 到 2m 之间 我正在处理这个问题的框架是如此之大 但请注意 我必须对其他框架执行相同的操作 gt gt gt len data 357451 现在这个文件是通过编译许多文件创建的 所以它
  • pip 安装失败,SSL 证书验证失败 (_ssl.c:833)

    我无法通过 pip install 安装任何外部 python 模块 我已经正确安装了 python 但如果我使用 pip install 它会显示此错误 这是我运行后的代码pip install pytesseract C Users 1
  • Python 按照层次结构按多个分隔符分割字符串

    我只想根据多个分隔符 例如 and 和 按顺序分割字符串一次 例子 121 34 adsfd gt 121 34 adsfd dsfsd and adfd gt dsfsd adfd dsfsd adfd gt dsfsd adfd dsf
  • 蜘蛛内的Scrapyd jobid值

    Scrapy 框架 Scrapyd 服务器 我在获取蜘蛛内部的 jobid 值时遇到一些问题 将数据发布到后http localhost 6800 schedule json http localhost 6800 schedule jso
  • 如何从 Lua 调用 Python 函数?

    我想从我的 lua 文件运行 python 脚本 我怎样才能实现这个目标 Example Python代码 sum py file def sum from python a b return a b Lua code main lua f
  • Windows Defender 检测 Python EXE 为木马

    我制作了一个 Python 脚本 将 Windows 目录以 zip 形式邮寄给我 我使用 sched 模块添加了一个调度程序 每小时重复一次 我试图制作一个简单的同步应用程序供个人使用 在 Windows 启动时启动 我使用将其转换为 e
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • Flask 中的 import 和 extends 有什么区别?

    我正在阅读 Flask Web 开发 在例4 3中 extends base html import bootstrap wtf html as wtf 我想知道 extends 和 import 有什么区别 我认为它们在用法上很相似 在什
  • 如何使用 xlrd 将新列和行添加到 .xls 文件

    如何向 xlrd 中的工作表添加新列和 或行 我有一个使用 open workbook 读取的 xls 文件 我需要在第一张表中添加一个新列 bouncebacks 然后在该表中添加新行 但我在 xlrd 文档中找不到任何显示如何添加新行和
  • PyCharm 无法识别字典值类型

    我有一个简单的代码片段 其中我将字典值设置为空列表 new dict for i in range 1 13 new dict i 现在 如果在下一行的循环内我会输入new dict i 并添加一个点 我希望 PyCharm 向我显示可用于
  • 如何绘制多类分类器的精度和召回率?

    我正在使用 scikit learn 我想绘制精度和召回曲线 我正在使用的分类器是RandomForestClassifier scikit learn 文档中的所有资源都使用二元分类 另外 我可以绘制多类的 ROC 曲线吗 另外 我只找到
  • 如何测试列表中多个值的成员资格

    我想测试两个或多个值是否在列表中具有成员资格 但我得到了意外的结果 gt gt gt a b in b a foo bar a True 那么 Python 可以同时测试列表中多个值的成员资格吗 这个结果意味着什么 See also How
  • Qcut Pandas:ValueError:Bin 边缘必须是唯一的

    我使用 Pandas 中的 Qcut 将数据离散化为大小相等的存储桶 我想要有价格桶 这是我的数据框 productId sell prix categ popularity 11997 16758760 0 28 75 50 524137
  • 如何可视化多维数据上的 kmeans 聚类

    我在 mnist 数据集上使用 kmeans 聚类算法 并希望可视化聚类后的图 到目前为止我做了这个 from mnist import MNIST mndata MNIST Datasets X train y train mndata
  • Scrapy 抓取并跟踪 href 中的链接

    我对 scrapy 很陌生 我需要从 url 的主页跟踪 href 到多个深度 再次在 href 链接内我有多个 href 我需要遵循这些href 直到到达我想要抓取的页面 我的页面的示例 html 是 初始页 div class page
  • Pip 突然使用了错误版本的 Python

    在 os x 上使用 pip 时遇到一个奇怪的问题 据我所知 快速查看我的 bash history 似乎可以确认 我最近没有对我的配置进行任何更改 唉 pip 命令似乎突然使用了与以前不同的 python 版本 到目前为止 我使用命令 p
  • 在多个图表上绘制一条线

    I don t know how this thing is called or even how to describe it so the title may be a little bit misleading The first a
  • 部署 Flask 应用程序时如何检测额外文件的更改并重新加载应用程序? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在 Flask 中构建了一个小型 Web 应用程序 并尝试将其部署在 Pythonanywhere 上 在开发过程中
  • django admin 中内联模型的分页器

    我有这个简单的 django 模型 由一个传感器和特定传感器的值组成 每个日射强度计的值数量很多 gt 30k 是否可以以某种方式分页PyranometerValues在特定日期或一般情况下将分页器应用于管理内联视图 class Pyran

随机推荐

  • BlockingIOError 上的日志记录阻塞:写入无法在没有阻塞的情况下完成

    我最近将我的脚本从 2 x 移植到 3 x 在通过自动化 rundeck 进行生产运行期间 我们发现记录器未处理阻塞 I O 导致的错误 任何如何解决的想法都会很棒 Ubuntu 18 04 1 LTS Python 3 6 7 Loggi
  • 从 Python 文件创建 .deb 文件

    关注后http ubuntuforums org showthread php t 406069 http ubuntuforums org showthread php t 406069我知道如何制作一个 deb 文件 该文件自动将 Py
  • 为什么android在显示png文件时会损失图像质量?

    我想在 android 上显示 png 图像 这是图像文件 右端比左端暗一些 但是 Android 应用程序 使用 ImageView 上的图像质量丢失了 请注意红框中的部分 颜色变化不顺畅 但如果我使用我的Android手机的浏览器 它播
  • 使用 Verilator 和 VPI 读取寄存器数组

    所以我在我的verilog中定义了以下寄存器 reg 31 0 register mem 0 15 verilator public 我的目标是从我的 verilator c 代码中读取存储在其中的 16 个值中的每一个 我发现有关 VPI
  • 为什么 Phoenix (ecto/Postgresx) 在开发中无法连接

    我正在开始我的 Elixir Phoenix 之旅 但我的 postgres 连接遇到了一些问题 当我启动服务器时 我得到 mix phoenix server error Postgrex Protocol PID lt 0 214 0
  • 在JS中将以下日期格式化为YYYY-mm-dd

    我将如何转换以下日期 2016 年 2 月 18 日星期四 12 25 00 SGT 转换成 2016 02 18 这样的格式 I know 通过调用使用 new Date Date parse 可以帮助我得到它 但问题是时区部分 SGT
  • 如何将项目添加到桌面上的右键菜单

    我有一个在后台运行的应用程序 并按设定的时间间隔更改用户的桌面背景 除了正常的 Windows 右键单击 选项之外 我想让用户右键单击桌面背景并可以选择下载照片或前进到下一个背景 在 C 中有什么办法可以做到这一点吗 目标操作系统是 Win
  • 多个 (3+) 设备的 WiFi Direct (Android 4.0)

    像这儿 Android WiFi Direct 自动身份验证 https stackoverflow com questions 9206043 automatic authentication for android wifi direc
  • 如何从 Python 函数调用捕获 stdout 输出?

    我正在使用一个对对象执行某些操作的 Python 库 do something my object 并改变它 这样做时 它会将一些统计信息打印到标准输出 我想掌握这些信息 正确的解决方案是改变do something 返回相关信息 out
  • Angular mat-table dataSource.paginator 和 dataSource.sort 和 dataSource.filter 未按预期工作

    更新 更改了代码以立即调用并分配dataSource 但我仍然遇到相同的结果 除了sourceData paginator工作中 这sourceData filter and sourceData sort仍然不起作用 请注意 我没有收到任
  • ftp 客户端上出现 noClassDefFound 错误:org.apache.commons.net.ftp.FTPClient

    我正在开发一个将文件发送到 url 数据库的应用程序 我一开始只是想发送一张图片 目前 我在 java io 中遇到 noclassDefFound 错误 我已经尝试更新 java 再次删除和添加 jar 文件 并且我仔细检查了我的清单以获
  • “重新启动接收器”无法正常工作 android [Xamarin.Android]

    我正在尝试实现一个广播接收器 该接收器在设备重新启动时获取广播 但无法使用以下代码工作 它应该在设备重新启动时向我发送祝酒词 广播接收器 BroadcastReceiver public class RebootReceiver Broad
  • 删除最后一个空行

    我的 csv 文件末尾有一个分段符 我尝试使用以下命令删除文件末尾的空行 sed i d combined csv 但它不起作用并且空白行仍然存在 我可以使用以下命令删除最后一行 sed i d combined csv 但是在删除最后一行
  • 错误:“x”未命名类型

    当我尝试声明类 Game 的实例时 我收到 main cpp 的编译错误 错误 游戏 未命名类型 如果可能并不重要 但我正在使用代码块 Game cpp中的相关代码 include include main h class Game pri
  • Chrome 扩展程序弹出窗口按条件显示

    我想通过点击显示弹出窗口 但前提是条件为假 单击扩展图标后台 js 后 搜索具有当前名称的选项卡 如果选项卡找到后台js继续工作 如果没有找到 我想显示带有说明的弹出窗口 无法理解如何在这种情况下仅显示弹出窗口 我可以通过 browserA
  • 正则表达式检查字符串中的连续 3 位数字

    我想要java中的正则表达式来检查字符串是否包含连续的3位数字 但问题是我的字符串可能包含 unicode 字符 如果字符串包含 unicode 字符 则应跳过 unicode 字符 跳过 AND 之后的 4 并进行检查 一些例子是 Nee
  • 如何仅使用 JavaScript 获取下一个元素?

    假设我们有这个标记 h1 some project mdash javascript html tests h1 hr p testing 123 p 我知道有 prependChild appendChild innerHTML等属性和方
  • 在 Rails 资源管道中使用字体

    我在 Scss 文件中配置了一些字体 如下所示 font face font family Icomoon src asset url icoMoon eot iefix font format embedded opentype asse
  • ffmpeg 转换 x264 [错误]:大小为 769152 的 malloc 失败

    我正在尝试将从 Android 智能手表 mp4 格式 录制的视频转换为可在所有浏览器上播放的格式 mp4 从智能手表录制的视频未在浏览器中播放 所以 我使用 ffmpeg 将其转换为可播放的 mp4 格式 但有时它会显示错误x264 er
  • keras中的加权mse自定义损失函数

    我正在处理时间序列数据 输出未来 60 天的预测数据 我目前使用均方误差作为我的损失函数 结果很糟糕 我想实现一个加权均方误差 使得早期的输出比后来的输出重要得多 加权均方根公式 因此 我需要某种方法来使用索引迭代张量的元素 因为我需要同时