当前位置:首页 > 数学课件 > 正文内容

数学不好可以去学编程吗?有什么好的建议吗?

zhao_admin11个月前 (06-30)数学课件44

数学不好也完全可以学编程的。因为计算机的编程实际上仅是一种数据处理,然后按照一定的程序输入的工作而已,与计算机的升级换代,软件开发决然不同。编程不需要太多的数学知识,不需要高等数学知识,不需要高中数学知识,甚至不需要初中数学的太多知识,只要数的认识和数据的处理技能就可以了。所以,数学不好的人完全可以学编程。

想要学会编程,初中的数学水平足够了,现在的程序开发环境又很好,基本上打开之后不需要怎么配置,直接写代码就行,程序语言无外乎顺序、判断和循环语句,写一写简单的程序毫无压力,很多高中生甚至初中生都可以编程了。

但是如果想要学好编程,数学知识还是很重要的,但是也不会太高深,修完大学本科的数学课程(微积分、线性代数和概率论)、外加计算方法,你的数学知识可以说是准备足够了。而且数学好,体现在抽象思维和逻辑思维能力上,这两点在编程时是十分重要的,程序=算法+数据结构,而理解算法,设计算法就需要较好的数学能力。

如何更高效的自学机器学习?

机器学习其实是一个特别大的范畴,高效自学机器学习有两个方面的关键要素:首先要对机器学习有一个宏观的认识,知道哪些是领域是热门且重点领域,做到抓住重点,有的放矢;其次,你需要在熟练掌握一门语言工具的前提下结合具体项目实践,增加自己的实践经验,这个地方我给python打一个广告。

下面说一些具体的东西,可能会对你有所帮助。

1: 机器学习可以解决哪些问题?

主要分为两类问题:分类问题和回归问题,其中分类问题又可以分为多分类问题和多标签多分类问题。其他还有很多进阶版本的问题,一般由多个问题复合而成,比如物体检测,实际是把图像分割和分类问题整合到了一起;

2: 机器学习算法有哪些?

我们大体可以将机器学习的算法分为传统机器学习和深度学习算法。传统机器学习算法中,常见的有SVM,决策树,随机森林等,大都在sklearn中进行了集成,可以非常方便的调用。深度学习算法主要依赖学习框架,主流的包含Tensorflow和PyTorch,各有优缺点,请自行了解做进一步选择。其次就是深度学习的网络结构又可以分为卷积神经网络,递归神经网络,自动编码器,对抗生成网络,图卷积神经网络等。目前深度学习在各个领域都取得了巨大的性能提升,是机器学习中的重点领域,另外图卷积也逐渐成为重中之重;

3: 常见的机器学习的流程是什么样的?

一个不失一般性的流程由这么几部分构成:数据集整理,数据集预处理,数据集划分(训练集,测试集,验证集,常见比例7:1:2),模型训练,模型验证,模型测试。

4: 怎么评价模型性能好坏?常见指标有哪些?

我们通常使用验证集的数据测试并选择最终的模型,然后用测试数据集来测试我们模型的性能。得到最终模型后,我们可以使用更大的独立测试数据集来进一步评估模型的性能。评估模型性能,我们就需要使用具体的性能指标。根据数据集中不同类别样本的比例,我们将数据集分为均衡数据集和非均衡数据集。均衡数据集我们可以使用准确率、损失值、马修斯系数、F1-score、ROC 曲线以及 AUC 值等指标,这类数据集的评估相对容易。对于非均衡数据集,我们需要谨慎的使用准确率来衡量模型性能,结合具体问题,我们一般更多的使用F1-score和ROC-AUC等指标。

5: 关于公共数据集。

现在网上有很多公开的且标注完备的数据集,包括图像的、序列的、文本的等等,为机器学习提供了良好的学习环境。练手阶段需要充分利用这些资源!

此外,机器学习不是万能的,很多情况下性能取决于数据和问题定义,不是每一个问题都能用机器学习解决。尤其面对现实问题,要谨慎乐观,切勿盲目跳坑!

机器学习的“难”通常不在于数学,因为机器学习本身不需要很高强度的数学计算,而在于 debugging 难的问题。机器学习 debug 要比普通计算机程序难得多:出现问题的情形多,而且调试周期长。本文深入讨论了这个难题,提出了在 debug 时需要注意的要点。

在过去的几年里,机器学习便捷化方面的技术已经取得了显著的发展:出现了很多相关的网络在线课程、精编书籍和架构理论。这些精编课程对前沿科技研究分析,分解成通俗易懂的语言。而架构理论方面则将普通问题抽象化,与构建机器学习系统相结合形成理论系统。这些发展某种程度上能够使人们打破已有的认知图示,加强对算法工作原理和计算代码的理解。

机器学习之难在于debug

尽管如此,机器学习仍是一个相对“难”的问题。毫无疑问,提高机器学习算法是一项艰难的科研课题,需要不断的创新、反复的试验、不懈的韧性。而将现有算法和模式与机器学习贯通运用则更难,这也解释了为什么机器学习方面的专业工程师的工资相比普通软件工程师要高出很多的原因。

这里的难通常不在于数学计算,机器学习应用本身不需要高强度的数学计算,而在于前面提到的构建系统,包括如何为工具建立图式以解决实际应用中的问题,这就要对现有算法和模式,两者权衡以及使用限制充分熟悉。机器学习技术是通过对不同类型的模式(比如课程、课本和论文等)进行应用的过程中,对这些模式进行检测。当然,这种知识构建形式存在于计算机科学的所有领域,而不仅仅是机器学习领域。一般的软件工程项目都需要对其他的框架、工具、技术以及设计决策几方面进行权衡。

机器学习的难点在于根本性的调试(debug)难题。机器学习的调试一般发生在以下两种情况:1)算法无法运行,或者2)算法运行不太完美。机器学习“难”的独特性在于,当运行效果不如预期时,想要检测出哪里出了问题极其困难。如果这两种困难同时发生,那么应用修复、升级以及结果显示方面的调试周期将会延长。很少会发生计算运行从一开始直到最后,占用大部分时间去做构建算法的情况。

机器学习相比传统软件,调试困难增加了两个维度

标准的软件工程中,遇到问题解决方案效果不如预期的情况时,一般有两种可能:算法问题和实施问题。举一个简单的递归算法的例子。

通过这种方法,列举出运行效果不好的故障分析图,如下:

横轴列出的是算法设计上可能会出现的问题,纵轴是在算法应用上可能会出现的问题。两个维度上都有可能出现问题(如多重应用bug),只有保证算法和应用两方面都精确无误,才能制定出正确的调试解决方案。

调试过程中,需要凭借直觉,结合不同的bug(如编译错误提示,程序输出结果等)信息,去准确判断问题所在。这些信息和启发式方法能帮助缩短锁定范围,快速处理问题。

机器学习有两个方面的常见bug:实际模式和数据。最简单的例子,就如用随机梯度下降算法训练逻辑回归。这里,算法准确包含梯度下降更新方程式,应用准确包括对特性和参数更新的精确计算。数据方面的bug包括嘈杂标签(noisylabels)、预处理过程中由于缺乏监控信号或数据不足导致的错误。模式bug包括建模能力的实际限制。比如,下图展示了在非线性决策边界中使用线性分类器。

调试过程从2D网格到4D超立方体(这里只显示了三个维度),第四个数据维度,我们可以想象成是这些立方体的序列(注意这里只有一个小立方体是正确的解决方案)。

机器学习极其“难”的原因在于,如果在一个维度上有 n 种错误的可能,2D维度中的错误就有 n*n 种可能,4D维度中的错误就有 n*n*n*n 种可能。这种情况下,依据现有信息,建立直觉去发现bug就显得尤为重要。

幸运的是,机器学习算法中,有更多的信号可以用于判断哪里出了bug,比较重要的有:训练集和测试集的功能缺失图(plots)、开发数据集中算法的实际输出结果,以及算法的中间计算汇总统计。

如何解决延迟的调试周期

另一个导致机器学习调试非常困难的因素是调试周期长。通常,从运行潜在修复功能到得出结果是否可行,需要花上几个小时甚至几天的时间。网页开发中,具备自动更新功能的开发模式可以极大地提高开发效率,因为这意味着可以最大限度地减少开发流程中出现的bug事件。而在机器学习中这很难实现,因为在数据集中训练算法需要花上几个小时甚至几天的时间。而深度学习模式更有可能导致调试周期延长,这就必须要进行“并行”试验范式。对于机器学习开发人员来说,同时运行多个试验,是因为算法训练是开发中的主要难点,通过多程序同时运行以开发指令流水(对于程序开发者而不是应用者)。强制性地多程序同时运行的主要缺点在于顺序调试和试验过程中,不能运用累积经验。

机器学习通常被归结为一种直觉开发的艺术,有了这种直觉,在很多维度都可能出现bug(或可以提高)时,可以判断出了bug(或需要提高)的地方在哪。这是构建机器学习项目的一个重要技巧,即当调试范围内呈现出的信号,你会开始利用这个信号尝试判断问题出在哪。我工作过程中经常会出现类似的情况。

举例来说,我最早遇到这样的问题是在训练神经网络时,总是出现周期性的训练功能损失。这些功能损失在经过某些数据时会发生延迟,但很快便返回到一个很高的数值。经过很多的试验和错误之后,我意识到这通常是因为训练集没有被正确地随机化(这看似是一个数据问题,但实际上是一个应用问题),还有一个问题就是,在使用随机梯度算法时,只处理小部分的数据。

总的来说,快速高效的调试是一个非常需要的技巧,可以应用到现在的机器学习流水线中

扫描二维码推送至手机访问。

版权声明:本文由PPT写作技巧发布,如需转载请注明出处。

本文链接:http://www.ppt3000.com/post/71043.html

分享给朋友:

相关文章

谁有"5说”式小学数学说课稿啊?

谁有"5说”式小学数学说课稿啊?

《说课|小学数学说课|北师大版-教案》百度网盘资源免费下载 链接: 提取码:5dea 说课|小学数学说课|北师大版-教案|1-小学说课示范语音|1-6年级人教版说课稿|小学说课讲义.pdf|下载前必看,关注下载更多.jpg|下载前必看,关注...

初三 数学 垂直于弦的直径

初三 数学 垂直于弦的直径

那么简单 OE垂直于AP,OF垂直于BP,O是圆心 可知E、F分别是AP、BP的中点,EF是中位线 根据中位线定理可知EF=AB/2=5...

五年级下册数学书内容有哪些?

五年级下册数学书内容有哪些?

五年级下册数学书内容有如下: 一、第一部分:《分数乘法》 1、分数乘整数的意义:分数乘整数的意义同整数乘法的意义相同,就是求几个相同加数的和的简便运算。 2、分数乘整数的计算方法:分母不变,分子和整数相乘的积作分子。能约分的要约成最简分数。...

石家庄的高思培优怎么样?上过的来说说,高三理科数学。

石家庄的高思培优怎么样?上过的来说说,高三理科数学。

一、石家庄的高思培优怎么样?上过的来说说,高三理科数学。 还不错,我觉得有提高 学数学,物理去高思培优。不过高思培优只招一中,二中的学生,别的学校的学生得年级前10名才行。 二、奥数教程和高思课本哪个更适合优等生 这两本书都是华东师范大学出...

初一数学第一单元课件(初一数学第一单元课件苏科版)

初一数学第一单元课件(初一数学第一单元课件苏科版)

初一第一学期数学第一单元是什么?人教版初一第一学期第一章(有理数)第一单元是正数和负数。初一数学下学期讲解第一单元?、 下列代数式中:①3x+5y ②x2+2x+y2 ③0 ④-xy2 ⑤3x=0 ⑥ 单项式有 _____个,多项式有___...

一元二次不等式及其解法课件

一元二次不等式及其解法课件

一元二次不等式及其解法课件 一元二次不等式是数学中常见的一个概念,它与一元二次方程非常相似,但是其求解方法却有很大不同。本文主要介绍一元二次不等式及其解法,以帮助读者更好地掌握这一概念。 一、 一元二次不等式的定义 一元二次不等式是指...