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

    文章

    4555

    浏览量

    66746
  • 机器学习
    +关注

    关注

    66

    文章

    8116

    浏览量

    130550
收藏 人收藏

    评论

    相关推荐

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

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

    断路器上各种符号代表什么

    上各种符号的含义,以帮助您更好地了解断路器的工作原理和用途。 线圈符号:线圈符号通常表示电磁线圈,它是断路器工作的关键部件。当线圈中有电流流过时,它会产生电磁力,使得触点闭合或断开,从
    的头像 发表于 12-15 10:58 3202次阅读

    verilog中数据的符号属性(有符号数和无符号数)探究根源

    为了省流,还是先甩结论。有符号数和无符号数的最本质区别就是:符号位的识别和高位拓展。除此之外,另一个区别就是从人的角度如何如何读这个数,或者说$display(%d)打印时打印的值是什么(而从机器的角度它压根就不区分signed
    的头像 发表于 12-10 10:50 503次阅读
    verilog中数据的<b class='flag-5'>符号</b>属性(有<b class='flag-5'>符号</b>数和无<b class='flag-5'>符号</b>数)探究根源

    c语言中函数的函数体用什么符号括起来

    都知道函数是数学里的重要组成部分,数学中我们常见到函数的概念,但是你了解C语言中的函数吗?其实函数就相当于一个子程序,那什么是子程序呢? 在计算机科学中, 子程序 是一个大型程序中的某部分代码
    的头像 发表于 11-24 15:52 309次阅读
    c语言中函数的函数体用什么<b class='flag-5'>符号</b>括起来

    devc怎么注释掉一段代码

    在DevC中,要注释掉一段代码,你可以使用注释符号来标记这段代码。注释符号的作用是告诉编译器不要编译这些代码,而是将其视为注释,这样可以方便
    的头像 发表于 11-22 10:23 1051次阅读

    符号整型能产生哪些bug?

    为什么不建议使用无符号整型,无符号整型能产生哪些bug?
    的头像 发表于 11-09 17:09 244次阅读
    无<b class='flag-5'>符号</b>整型能产生哪些bug?

    C语言编程中的@符号是什么意思?

    我看有一些代码中含有@符号,是什么意思,在单片机的工程中
    发表于 11-08 07:46

    Sympy模块如何解数学方程解微积分

    SymPy 是一个Python库,专注于符号数学,它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。 举一个简单的例子,比如说展开二次方程: from sympy
    的头像 发表于 10-31 14:33 240次阅读
    Sympy模块如何<b class='flag-5'>解数学</b>方程解微积分

    电气电子电路符号和名称汇总

    PCB 设计过程从理解电路原理图开始,然后将原理图转换为 PCB 布局。为了理解原理图,任何设计人员都需要了解所有基本组件的电路符号
    的头像 发表于 09-05 09:59 1474次阅读
    电气电子电路<b class='flag-5'>符号</b>和名称汇总

    一文揭秘电路图中的神秘符号“WT”的作用和意义

    百能云芯将揭秘电路图中的这个符号的作用与意义,带您深入了解电子电路的奥秘。
    的头像 发表于 08-31 17:30 1399次阅读

    符号IO域和图形IO域的介绍

    符号IO域指已经编辑好的符号来显示输出输入变量。
    的头像 发表于 07-31 09:52 1349次阅读
    <b class='flag-5'>符号</b>IO域和图形IO域的介绍

    大模型帮陶哲轩解题、证明数学定理:数学真要成为首个借助AI实现突破的学科了?

    数学将成为第一门借助AI实现重大突破的学科? 去年 2 月份,DeepMind 发布了编程辅助利器 AlphaCode。它使用人工智能技术来帮助程序员更快地编写代码,可以自动完成代码、提供代码
    的头像 发表于 07-02 20:55 291次阅读
    大模型帮陶哲轩解题、证明<b class='flag-5'>数学</b>定理:<b class='flag-5'>数学</b>真要成为首个借助AI实现突破的学科了?

    符号的作用与示例

    符号符号是指在定义或者声明一个对象(变量、结构体成员、函数)时,在对象的前面添加 attribute ((weak)) 标志所得到的对象符号。如下所示函数即为一个弱对象符号 vo
    的头像 发表于 06-22 11:36 592次阅读

    Linux内核强符号和弱符号讲解

    查看Linux内核代码时,经常能看到一些编译器选项如__attribute__((weak),起初不太了解,经过查资料,算是对gcc的这个编译属性有了初步的认识,现在总结如下。
    发表于 06-08 10:57 971次阅读

    R语言中特殊符号的使用

    有时候我们需要在图形上添加特殊符号,比如希腊字母和斜体字。有时候,我们还希望在图形上添加数学注释。
    的头像 发表于 05-22 14:58 3795次阅读
    R语言中特殊<b class='flag-5'>符号</b>的使用