032-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

本文探讨了机器学习中编程思路的转换,从命令式编程到声明式编程的区别。通过斐波拉契数列的例子展示了两种编程方式的不同,强调声明式编程在处理数理逻辑时的优势。同时指出Python语言与TensorFlow API的差异,以及在使用TensorFlow时应避免业务逻辑。最后,解释了Python在TensorFlow中的角色,类似于前后端分离结构中的前端,而真正的计算任务由后端决定并执行。
摘要由CSDN通过智能技术生成

11.3 编程思路的转换

在学校里的教授的如C、Python、Java等编程语言, 采用的命令式编程的思路。 你需要下达一个指令,让计算机做一个动作, 希望得到是一个程序中业务逻辑变量的 状态转换。 其背后的理论基础是形式语言与自动机理论, 程序抽象为一个有穷自动 机。

而在TensorFlow中的编程思路会略有不同,初学时应该引起注意。 其与符号式编 程类似,其通过数学模型对数理逻辑进行抽象,计算单元是函数, 而不是指令。

上面这段话,可能有些抽象,我们通过两段程序代码来说明一下。 这两段程序代码都是要找出斐波拉契数列的第n 个值。 斐波拉契数列:1,1,2,3,5,8,13,21,44,··· 。 从 数学知识的角度,我们知道, 这个数列除了前两个数为整数 1 ,从第 3 值开始, 都是 数列中前两个值相加的结果。 用数学表达式表示其通项公式为a n = a n−1 + a n−2 。 如果 用声明式编程的语言来写这个函数如下:
在这里插入图片描述
如果用命令式编程的代码是这样的:
在这里插入图片描述
很明显, 声明式编程更加倾向于数学定义本身。 从程序代码上看, 写法更加简 洁, 但也更加抽象。 而命令式编程的写法, 更注重指令和操作的细节, 更加具体 化。 在后面,我们将会看到, 如果遵循声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值