省建设执业资格注册中心网站深圳福田网站制作公司

张小明 2026/1/9 19:53:31
省建设执业资格注册中心网站,深圳福田网站制作公司,网页开发需要学什么,软件公司原文#xff1a;towardsdatascience.com/hands-on-numerical-derivative-with-python-from-zero-to-hero-79eb5b5ffabf 至少在每所大学的实验室里都能找到一句著名的言论#xff0c;它是这样的#xff1a; 理论是你知道一切但什么都不起作用。实践是当一切起作用但没有人知道…原文towardsdatascience.com/hands-on-numerical-derivative-with-python-from-zero-to-hero-79eb5b5ffabf至少在每所大学的实验室里都能找到一句著名的言论它是这样的理论是你知道一切但什么都不起作用。实践是当一切起作用但没有人知道为什么。在这个实验室中我们结合了理论和实践什么都不起作用没有人知道为什么。我觉得这句话在数据科学领域非常贴切。我说这个是因为数据科学最初是一个数学问题理论你需要最小化损失函数。然而当你进入**现实生活实验/实验室**时事情开始变得非常混乱你完美的理论世界假设可能不再适用它们永远不会适用而且你不知道为什么。例如考虑导数的概念。任何处理数据科学复杂概念的人都知道或者更好的是必须知道什么是导数。但是如何将优雅的理论概念应用于现实生活中的导数在噪声信号上在没有解析方程的情况下在这篇博客文章中我想展示一个像导数这样简单的概念在处理现实生活时如何揭示出许多复杂性。我们将按以下顺序进行导数概念、符号导数和数值导数的简要介绍数值导数概念的实现和限制数值导数的改进以克服简单实现的限制。让我们开始吧1. 导数的理论介绍我相信导数的概念对你们中的许多人来说都很熟悉我不想浪费你们的时间我会非常快速地讲解理论思想然后我们将专注于数值部分。因此导数是曲线切线的斜率。例如对于曲线 y x²导数是 x 2 时橙色线的斜率。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f8c46c0d2eab888122e4019102725674.png作者制作的照片现在一个大的正导数意味着你在那个点迅速增加如果你增加 x那么你也会增加 y。所有这些都总结在这个强大的定义中https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/81a847d5684b40cd361042dc4cda1e0c.png作者制作的照片就这样。***这是这篇文章的最后一部分理论我保证。***现在让我们来做真正的事情。2. 数值实现的介绍当我们有一个方程的符号表示时一切都很简单。例如我们知道从理论中https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/5f449b19c071c3f6bd239be51b078e5c.png作者制作的照片但假设我们没有符号方程。我们如何计算导数嗯在现实生活中对于数值信号你没有那么奢侈可以取h 趋向于 0。你唯一拥有的就是信号这是一个值列表。时间轴另一个值列表当然这两个无论是信号还是时间轴都不是连续的。所以你唯一的希望就是做这样的事情defdydx(y,x,i):return(y[x[i]]-y[x[i1]])/(x[i1]-x[i])这意味着在离散空间中你实际上不能做少于 1 步。所以你可能想“好吧那我们就这么做让我们假设 h 为 1每次移动 1 步”问题在于当信号噪声大时导数可能会非常大*并不是因为信号在 x 方向上真的增加而是仅仅因为噪声恰好增加了。想象一个上下波动的信号是这样的https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ffbee3ceb09be69ad30c86d1f0cf19ed.png由作者制作的照片导数非常不稳定但信号在任何地方都没有增加或减少。它是在局部变化的但这只是我们不感兴趣的噪声的随机变化。那么在这些情况下我们怎么做呢让我们一起来看看2.1 简单实现及其局限性让我们探讨一个真实案例并且用Python来实现它。对于这篇博客你不需要很多我使用了sklearn、scipy、numpy和Matplotlib。它们可能都包含在 Anaconda 包中很难跟踪它们但如果不是的话简单的pip install就能解决问题。无论如何让我们导入它们cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F1%26cellId%3D0dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F1%26cellId%3D0keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian现在让我们考虑一个非常非常简单的二次信号。cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F3%26cellId%3D1dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F3%26cellId%3D1keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian数值导数可以使用 numpy 来完成并且np.diff(y)/step其中“步长”将是“h”在这种情况下是第二个和第一个 x 之间的距离。所以如果我们做“理论”与“数值”的比较我们得到如下结果cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F7%26cellId%3D2dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F7%26cellId%3D2keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian所以它工作得很好让我们结束这篇文章我在开玩笑问题出现在信号不是童话中的信号而是来自现实世界的一个信号。当数据来自现实世界时它们必然会有噪声。例如让我们考虑同一个之前的信号但让我们让它稍微有点噪声。这是稍微有点噪声的信号cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F11%26cellId%3D5dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F11%26cellId%3D5keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian它有点噪声但并不是那么吵对吧然而这个非常小的噪声完全破坏了导数。Jovian 上的导数笔记本我们该如何解决这个问题呢让我们看看一些解决方案。3. 导数细化3.1 清洗信号我们首先可以做的事情比较简单是对原始信号进行平滑处理如果我们知道我们的信号是嘈杂的我们应该在执行其他任何操作之前尝试减少噪声。我最喜欢的降噪方法是Savitzky-Golay 滤波器我在另一篇文章中提到了它你可以在这里找到它。让我们平滑信号并看看它的样子Jovian 上的导数笔记本现在我们可以在平滑后的信号上进行求导。Jovian 上的导数笔记本非常好。然而这并不是真正的导数细化。这更像是将相同的概念应用于平滑信号。有点作弊但这是一个第一步。让我们再进行一些细化。3.2 自定义步长从理论角度来看h 越小越好。然而如果信号是噪声的我们可能会将 h 视为一个参数。因此我们可以调整这个参数看看导数看起来如何。例如如果 x 轴在 -2例如秒和 2 秒之间步长为 0.004 秒那么我们可能会认为我们可以在 0.4 秒100 个点之后而不是在 0.004 秒1 个点之后计算导数。为了做到这一点我们必须定义我们自己的数值导数函数。就像这样*cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F21%26cellId%3D13dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F21%26cellId%3D13keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian我们需要小心因为在信号的末尾我们可能不会有 100 个点而是大约 20 个或 30 个点。所以我做了一点检查如果我们得到的点数少于最初的一半我们就停止计算导数。让我们再次测试这个方法cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F21%26cellId%3D11dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F21%26cellId%3D11keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian让我们修改导数的定义。cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F23%26cellId%3D13dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F23%26cellId%3D13keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian因此我们窗口化版本的导数比平滑信号上的导数第一次改进要好得多。3.3 自定义步长 线性回归现在修改步长有助于改进但可能还不够。让我们考虑这种情况。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7a094fe0afe030b01bef893dda7fd7da.png作者制作的照片如果我们想要计算 f(x)在蓝色交叉点的导数到目前为止我们有两种选择绿色线条我们只信任下一个点并做切线你采用我们提出的窗口化方法黑色线条如我们所见窗口化方法与橙色真实的基准线相似但并不完全一样。这是因为如果噪声保持不变即使在 k 步之后我们也会有一点点噪声。那么我们如何解决这个问题呢好吧我们不仅考虑蓝色和红色交叉点之间的差异然后用 x 差值进行归一化我们还可以在蓝色和红色交叉点之间的所有点之间运行线性回归算法。通过应用线性回归我们积极考虑切线穿过蓝色和红色点的线但我们也在整合中间的所有其他点。这意味着我们不仅仅盲目地相信红色交叉点我们还考虑了所有介于两者之间的东西从而在噪声上进行了平均。当然一旦我们进行了线性回归相应的导数就是拟合线的系数或斜率。如果你这么想在极限情况下如果你只有两个点拟合线性回归的斜率就是导数的定义。所以简单来说我们继续通过“窗口化”来做导数但是我们也应用线性回归方法。这种剧透效果是有效地平滑信号的导数正如我们所期望的。我真的很喜欢这种导数的估计让我们用一个硬核案例来测试它即一个非常嘈杂的信号Jovian因此我们将测试两种方法窗口导数应用于滤波信号窗口线性回归导数应用于滤波信号首先让我们实现第 2 点Jovian这些是已实现的方法Joviancdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fjovian.com%2Fembed%3Furl%3Dhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F27%26cellId%3D18dntp1display_nameJovianurlhttps%3A%2F%2Fjovian.ml%2Fpiero-paialunga%2Fderivative-notebook%2Fv%2F27%26cellId%3D18keya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlscrollautoschemajovian如我们所见导数的橙色和红色估计相似但红色估计更平滑使得导数更少噪声。因此我们可以认为这种改进比之前的改进更好。4. 结论我们已经到了这里经过了许多版本的迭代 在这篇博客文章中我们讨论了导数。特别是我们做了以下几件事我们描述了导数的理论定义并在二次信号上给出了一个非常简短的例子。我们在简单的二次信号和噪声信号上定义了导数的标准数值定义。我们看到了在噪声信号上的导数估计非常差因为它试图“模拟噪声”而不是信号的真相。我们在三个方面改进了标准的数值导数通过平滑信号第一种方法通过平滑信号并对导数进行“窗口化”第二种方法通过平滑信号对导数进行“窗口化”并应用线性回归算法第三种方法。我们展示了每种改进如何提高前一种最终得到一个即使在噪声信号上也能有效定义的导数。我真心希望你喜欢这篇博客文章并且觉得它很有趣。❤5. 关于我再次感谢你花时间。这对我们意义重大。我的名字是皮埃罗·帕亚尔尼亚我就是这里这个人https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f0a229477351070e5b2ec9b085c89e1f.png作者制作的照片我是在辛辛那提大学航空航天工程系的博士候选人同时也是 Gen Nine 的机器学习工程师。我在博客文章和领英上谈论人工智能和机器学习。如果你喜欢这篇文章并想了解更多关于机器学习的内容以及关注我的研究你可以如果你想向我提问或开始合作请在这里或**领英**上留言点击这里
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站logo是指网站建设从建立服务器开始

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

张小明 2026/1/4 1:08:10 网站建设

厦门移动网站建设哪家专业网站建设套餐价格

OpenUtau:5个关键功能让你快速上手开源歌声合成平台 【免费下载链接】OpenUtau Open singing synthesis platform / Open source UTAU successor 项目地址: https://gitcode.com/gh_mirrors/op/OpenUtau 想要创作属于自己的虚拟歌手作品吗?OpenUt…

张小明 2026/1/4 0:33:25 网站建设

成都哪里做网站好一个完整网站制作的实例

导语:斯坦福大学与Lupantech联合推出的AgentFlow-Planner 7B模型,基于Qwen2.5-7B-Instruct底座打造,为AI任务规划领域带来轻量化解决方案,现已开放代码与在线演示。 【免费下载链接】agentflow-planner-7b 项目地址: https://a…

张小明 2026/1/3 13:45:57 网站建设

域名注册网站排名招聘小程序怎么制作

74194四位移位寄存器:双向移位的底层逻辑与实战设计精要你有没有遇到过这样的场景——想让一组LED灯从左到右“跑”起来,再原路返回?或者在没有足够GPIO的单片机上扩展输出端口?又或者需要把串行数据快速转成并行格式?…

张小明 2026/1/3 22:12:33 网站建设

常州网站制作培训论坛网站建设方案

React 协调器:从 DOM 到 PDF 和 Canvas 的通用性与边界 女士们、先生们,下午好! 今天,我们将深入探讨 React 的核心机制之一:协调器(Reconciler)。我们不仅会回顾它在浏览器 DOM 环境下的标准…

张小明 2026/1/4 23:39:48 网站建设

直播网站做收入流水专业搜索引擎seo服务商

DeepSeek-V2-Lite技术解密:轻量型MoE模型如何重塑AI部署新格局 【免费下载链接】DeepSeek-V2-Lite DeepSeek-V2-Lite:轻量级混合专家语言模型,16B总参数,2.4B激活参数,基于创新的多头潜在注意力机制(MLA&am…

张小明 2026/1/6 20:05:43 网站建设