0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用代码了解数学符号

Wildesbeast 来源:网络整理 作者:闻数起舞 2020-04-06 12:09 次阅读

当我们用自己喜欢的语言查看求和,阶乘,矩阵等时,它们很简单

Source

对于任何有兴趣从事机器学习和数据科学事业或研究的人来说,是时候超越python库,追随好奇心进入所有数学背后的日子了。 通常,这将带您进入大量公开的论文集,详细说明其工作原理。 您对核心数学的理解越深入,您就越可能一见倾心就创建了一种新方法。 在您遇到类似以下内容之前,第一篇文章上的所有内容似乎都还不错:

对于已经学习数学多年或在机器学习的数学水平上工作的任何人,可以将这样的方程式仔细地解析为含义和代码。 但是对于许多其他人来说,这看起来像象形文字。 事实是,古代数学领袖似乎似乎选择了最有趣的外观符号来描述相当直观的方法。 结果是:方程和变量看起来比实际复杂得多。

我发现代码不仅可以用于编写程序,还可以用于解释复杂性的全球通用语言。 当我学习所有数据科学背后的数学时,我总是发现,获得对数学的普遍理解的最佳方法是编写代码段来描述方程式。 最终,这些符号被理解为几乎可以在典型论文中将其理解为文本。 在本文中,我希望分享一些示例,说明用代码描述数学的简单性!

求和与乘积

求和符号是迭代数学中最有用和最常用的符号之一。 尽管设计复杂,但是实现还是相当简单,但却非常有用。

x = [1, 2, 3, 4, 5, 6]result = 0for i in range(6): result += x[i]Output of print(result) -》 21

如上所示,此符号代表的所有内容都是从顶部的数字开始的for循环,在顶部的数字范围内。 在底部设置的变量将成为索引变量,并且每个循环的所有结果都将添加到总值中。 较不常见的是,可以使用以下方法:

通常称为乘积运算符,该符号以相同的方式起作用,但不是将每个结果相加,而是将它们相乘。

x = [1, 2, 3, 4, 5, 1]result = 1for i in range(6): result *= x[i]Output of print(result) -》 120

阶乘

阶乘是“!” 几乎所有计算器上都存在。 对许多人来说,这可能更明显一些,但是仍然值得编写一些代码以了解其原理。

5! 将表示为:

result = 1for i in range(1,6): result *= iOutput of print(result) -》 120

条件括号

条件括号用于根据一组条件转移方程的流程。 对于编码人员,这只是常见的“ if”语句。 以上条件可以表示为:

i = 3y = [-2, 3, 4, 1]result = 0if i in y: result = sum(y)elif i 》 0: result = 1else: result = 0print(result) -》 6

如上所示,括号中每一行的正确表示法规定了每个路径应执行的操作。 我还将多余的“包含”符号放入每个条件中,以增加更多的见解。 如上所示,我们检查了i值是否在y列表中。 认识到确实如此,我们返回了数组的总和。 如果i值不在数组中,我们将基于该值返回0或1。

点明智和笛卡尔矩阵乘法

最后,我想快速介绍一下任何数据科学家通常通过其喜欢的语言库(矩阵乘法)完成的操作。 最容易理解的形式是逐点操作。 简写为:

请注意,第一个要求是每个矩阵必须具有相同的形状(即#rows =&#Columns =)

此代码如下所示:

y = [[2,1],[4,3]]z = [[1,2],[3,4]]x = [[0,0],[0,0]]for i in range(len(y)): for j in range(len(y[0])): x[i][j] = y[i][j] * z[i][j]print(x) -》 [[2, 2], [12, 12]]

最后,让我们看一下机器学习中最常用的典型矩阵乘法过程。 用复杂的术语来说,此运算将找到每个主要行与每个次要列的点积。 这样做的主要目的是:假设[#rows,#columns]→矩阵ixj要求#columns(i)== #rows(j)→最终产品的形状为[#rows(i), #columns(j)]

这似乎令人困惑,我最好的建议是看一下Google图片,以直观了解这些要求。

该方程的代码如下(使用numpy点方法):

y = [[1,2],[3,4]]z = [[2], [1]]# x has shape [2, 1]x = [[0], [0]]for i in range(len(y)) for j in range(len(z): x[i][j] = np.dot(y[i], z[:, j])print(x) -》 [[4], [10]]

这只是几个示例,但是对这种简单代码的理解可以使任何程序员承担起初不祥的数学世界。 当然,这些方法都可以合并以提高效率,并且通常具有易于使用的库方法。 用简单的代码编写这些代码的目的是查看以真实操作的形式写出它们时的意义。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4796

    浏览量

    68706
  • 机器学习
    +关注

    关注

    66

    文章

    8423

    浏览量

    132744
收藏 人收藏

    评论

    相关推荐

    开关二极管符号如何了解

    在电路图中,开关二极管的符号通常与其他电子元件的符号一起使用,以表示电路的连接关系和功能。通过符号,我们可以清晰地看到开关二极管的正负极、连接方式以及与其他元件的相互作用。这有助于我们理解电路的工作原理、进行电路分析和设计。
    的头像 发表于 12-26 17:59 190次阅读
    开关二极管<b class='flag-5'>符号</b>如何<b class='flag-5'>了解</b>

    KiCon 演讲回顾(十一):使用 KiCad9 设计并提交高质量的原理图符号和封装

    “  John Beard 将介绍如何绘制高质量符号与封装。您将从简单的双以太网磁环插座开始,绘制符号和封装,并提交合并请求。您会了解KiCad符号和封装的绘制过程,探索KiCad库(
    的头像 发表于 12-05 09:12 303次阅读
    KiCon 演讲回顾(十一):使用 KiCad9 设计并提交高质量的原理图<b class='flag-5'>符号</b>和封装

    原理图符号和PCB封装有什么不同?

    “  原理图符号及PCB封装是电子设计中最基本的要素。本文针对刚踏入电子设计的新人,介绍了原理图符号与PCB封装区别,以及在KiCad中两者的对应关系。 ” 什么是原理图符号? 原理图符号
    的头像 发表于 12-04 18:13 1005次阅读
    原理图<b class='flag-5'>符号</b>和PCB封装有什么不同?

    让单片机代码性能起飞的七大技巧

    大厂工程师,也会有让人笑掉大牙的代码。           高效的背后,有很多学问,需要有一定的数学功底,对编译器有较深的了解,懂汇编。           具备这些能力,写出来的代码
    的头像 发表于 11-16 10:21 600次阅读
    让单片机<b class='flag-5'>代码</b>性能起飞的七大技巧

    KiCad中不同GND符号的含义及应用

    “  对于刚接触电子设计的小伙伴,经常会对原理图中各种不同样式的接地(GND)符号搞晕。GND、GNDA、GNDD、大地、机壳地等到底有什么区别?该如何使用呢?   ” 地的种类 我们先来
    的头像 发表于 11-12 12:20 749次阅读
    KiCad中不同GND<b class='flag-5'>符号</b>的含义及应用

    嵌入式电子元器件符号大全

    嵌入式系统设计中,了解并正确使用电子元件符号是至关重要的。电子元件的符号在电路图中起到了“通用语言”的作用,让工程师能够快速理解和设计复杂的电子设备。本文旨在为初学者提供一个关于常见嵌入式电子元件
    发表于 09-27 15:47

    代码整洁之道-大师眼中的整洁代码是什么样

    几个月前写了一篇文章“如何写出难以维护的代码”,从中能大概了解到不好维护的代码是什么样,有哪些坏味道,那肯定有人会反问,难以维护的代码见的太多了,也知道长什么样,但是对于好维护的
    的头像 发表于 09-09 16:30 352次阅读
    <b class='flag-5'>代码</b>整洁之道-大师眼中的整洁<b class='flag-5'>代码</b>是什么样

    神经网络在数学建模中的应用

    数学建模是一种利用数学方法和工具来描述和分析现实世界问题的过程。神经网络是一种模拟人脑神经元结构和功能的计算模型,可以用于解决各种复杂问题。在数学建模中,神经网络可以作为一种有效的工具,帮助我们更好
    的头像 发表于 07-02 11:29 974次阅读

    时间继电器的电磁符号和字母符号是什么

    时间继电器,作为电气控制系统中不可或缺的元件,其精确的延时功能对于整个系统的稳定运行至关重要。为了更好地理解和使用时间继电器,了解其电磁符号和字母符号显得尤为重要。本文将详细阐述时间继电器的电磁
    的头像 发表于 06-29 11:48 1566次阅读

    电压继电器的图形符号和文字符号是什么

    电压继电器是一种电气设备,用于在电路中检测电压水平,并在达到特定阈值时触发开关或其他控制设备。在本文中,我们将详细讨论电压继电器的图形符号和文字符号,以及它们的应用和工作原理。 电压继电器的图形符号
    的头像 发表于 06-24 09:51 2282次阅读

    工业控制器的制作与数学的关系

    数学在工业控制器设计中的应用 工业控制器的设计涉及到多个方面,包括硬件设计、软件设计、系统架构设计等。在这些设计过程中,数学发挥着关键作用。 1.1 硬件设计中的数学应用 工业控制器的硬件设计主要
    的头像 发表于 06-16 14:34 525次阅读

    数字电路仿真元件符号是什么

    数字电路仿真元件通常用符号来表示。这些符号是通过简洁和易于理解的图形来表示元件的特性和功能。符号是数字电路设计和仿真过程中非常重要的一部分,帮助工程师和设计者有效地沟通和理解电路的功能。在本文
    的头像 发表于 04-21 09:20 2375次阅读

    谷歌发布CodeGemma大语言模型,优化代码生成及理解

    此外,CodeGemma 还充分运用了预设的 Gemma 检查点并训练了超过 50000 亿个英语、数学以及各类编码语言词汇块,其卓越的逻辑和数学推理性能,成为了代码生成与完成的新标准。
    的头像 发表于 04-10 15:16 513次阅读

    常用的电气元件符号有哪些?

    以上是一些常见的电气元件符号,它们在电路图和设计中起着至关重要的作用。通过使用标准化的电气元件符号,可以确保电路图的准确性和可靠性,从而提高工程设计的效率和质量。
    的头像 发表于 04-01 13:24 2109次阅读

    char是有符号类型还是无符号类型?

    看一个C语言的笔试题,题目很简单,问char是有符号类型还是无符号类型?
    的头像 发表于 03-17 10:15 1275次阅读