程序函数与数学函数概念的区别

   写代码时常说“函数”,它有输入参数、返回值、计算过程等。它在形式上与数学上的函数很相似,为了得到某个结果需要自变量,同时也可以借助其他已定义的函数。但是程序函数(有的语言叫方法、过程等)与数学函数的最重要的区别是:数学函数是描述性知识,它指明了变量之间的关系,即它们之间需要满足方程的条件。程序上的函数是行动性知识,它指明了为了得到某个结果而应该如何去做。举个例子,数学上求x的平方根sqrt(x)=y,如果某个数y符合这个函数的答案,那么就要求y大于零,并且它的平方等于x。但是对于计算机来说,从这个函数里并不知道如何才能得到y的值。计算机需要的是一步一步达到目标的可行的步骤。常用的方法是牛顿逐步逼近法,这个方法首先猜测一个值,然后通过简单的操作得到一个更好的值,这样逐步迭代直到满足条件,这时最好的猜测值就作为想要的答案。这个简单的步骤就是:首个猜测值为y0,以y0和x/y0的平均值y1作为下一个更接近答案的值;判断是否满足迭代终止条件,也就是y1的平方与x的差值是否足够小,如果满足了那么这时的y1就是我们要的答案;如果不满足,以y1替代第一步的y0计算下一个平均值y作为最终答案的备选值。下面的表描述了求解2的平方根的步骤:y0=1

猜测值平均值
12/1=2(1+2)/2=1.5
1.52/1.5=1.333(1.5+1.333)/2=1.4167
1.41672/1.4167=1.41181.4142

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
学习人工智能,机器学习都离不开数学基础和编程知识。无论你是数据科学的初学者还是已经从事人工智能开发的有经验人员,这门课都适合于你。为什么这么说?首先人工智能和机器学习本质上就是算法,而算法就是数学及统计学以及编程的结合。当前市场上有许多开源的软件包如SKLEARN确实可以帮助没经验的或缺乏数学或算法基础的人实现机器学习模型及预测,但这些工具无法使你真正懂得算法的本质或来源,或者无法使你在不同场合下灵活运用及改进算法。记住,在实际工作找到适合应用场景的解决方案是最难但是最重要的。但这离不开数学基础和算法理解。比如,线性回归是一类普遍的机器学习算法,所有的机器学习软件都有现成的方法实现模型,但如果在训练数据加入几条新数据,那么新建立的模型和原来的模型有和联系或不同?再比如,为什么深度神经网络的Sigmoid函数一般只用到输出层?神经网络的向后传播理论如何与泰勒展开和复合函数的偏导数联系在一起?人工智能推荐系统和文字向量如何与矩阵的奇异分解以及特征向量联系?模型对标签进行数据变换如何影响预测值?所有这些问题的答案,你都可以从本课找到线索。本课系统地讲述了有关人工智能,机器学习背后的数学知识。特别指出,微积分和代数知识是本课的核心。统计学基础被安排在另外的课程。除此之外,我在每一章节或主要知识点后都安排了各类程序以解释和回顾所学到的东西。最后要提到的是,这不是一门工程项目实践课。但我会另外专门安排有关人工智能,机器学习的实践课程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值