大家好,今天小编关注到一个比较有意思的话题,就是关于机器学习面试用python写算法的问题,于是小编就整理了2个相关介绍机器学习面试用Python写算法的解答,让我们一起看看吧。
python基础知识面试题?
Python基础知识面试题包括Python的数据类型、控制流、函数、模块、异常处理、面向对象编程等方面。要回答这个问题,首先要熟悉这些基本概念,并且能够编写相关的代码和解释运行过程。
此外,还需注意代码风格、变量命名等规范,以及对Python既有的特性比如内建函数、生成器、列表解析等的应用。最后,还需灵活应对常见的面试问题,例如如何调试Python代码、如何解决内存泄露等。
用python实现一些机器学习算法时是否需要自己写轮子?
这个得看你出于什么目的而学习机器学习的,如果只是出于工作的需要或者短时间的应用,那你只需要使用框架来实现机器学习的算法就可以了,这些框架都有sklearn(标准机器学习库),tensorflow,pytorch等,这些框架各有各的缺点和优点,看需要来决定用哪种,这样就不用自己造轮子了,只需要理解其算法过程与框架算法的实现函数就能实现机器学习算法,是不是很过瘾?还有一种情况就是出于自身兴趣而学习的机器学习,我想大部分学习机器学习的程序员都是出于兴趣,既然是兴趣,那就会想着靠自己一步一步来实现这些算法,以便理解其算法原理,实现过程,还可以加深算法的印象,真正的掌握该算法,实现之后自己还会有很高的成就感,觉得自己真是太厉害了有木有?反正我就这种感觉,不过我只是自己实现了手写数字的神经网络识别算法,其识别率还蛮可观的。
如果你想深入机器学习领域,那你就应该自己至少造一次轮子,以便真正掌握该算法,之后的使用不想造轮子了可以使用框架来实现。如果只是短时间的应用,那就用框架吧,很快就能看到实现效果,还不用自己造轮子呢,方便,快速。
祝你好运!
目前机器学习主要有两种形态,其一是搞算法,主力是世界上知名大学(学院派)如MIT,大公司的发paper的核心团队,如google。他们基本都是名校毕业的博士或在职的教授,为大家造轮子;其二是工程应用,自动驾驶,医疗图像,城市公共交通,语音识别等等,主要是要快速把算法变现为可执行工程项目,绝大部分都是拿轮子直接用。
那么是不是我们做工程的就一定不用做轮子了?那到不是,根据项目需求,改造轮子或重新造轮子都是可能的。
谢谢邀请。是否需要自己造轮子取决于自身的需要。
如果是出于学习阶段,理解机器学习的算法并自己去实现是有必要的。这可以加深对知识的理解。但即便如此,也不是要求从头开始造轮子,很多时候只是二次开发。
如果是工程应用,那么就完全没有必要去重复造轮子了。python目前提供的库已经很强大了,也相当成熟,基本上能够满足一般工程应用的需求,这个时候再花大量精力去重复造轮子是很没必要的。
sklearn、TensorFlow(包括TensorFlow的高层封装Keras)、PyTorch……Python有这么多优秀的库,实现各种机器学习算法很方便,何必要自己造轮子呢?
(图片来源:tertiarycourses***.sg)
你可以看看最近发表的机器学习算法方面的论文,很多论文都开源了配套的代码,这些代码基本都是基于各种框架实现模型,几乎看不到从头自己造轮子实现的。
自己造轮子,不仅写起来麻烦(这还***设你造的轮子语义上没有错误、性能上也不差),别人阅读起来也不方便。
很多人过分推崇从头写起(write X from scratch),恨不得什么都自己写,不屑于使用TensorFlow等框架。但是,TensorFlow不用,那numpy用不用呢?所以说,这种想法其实不可取。
当然,这也不是绝对的,以下情形属于例外:
- 基于学习的目的,加深对基本概念/模块的理解。比如用框架写的话,像反向传播之类的轮子都是现成的。脱离框架自己手写,可以更好地理解这些基本概念/模块。
- 基于性能需求进行优化,比如,使用了特殊的硬件,或者应用非常特殊,现有的轮子不能用或者不[_a***_]。
- 应付面试。其实这个可以归入第一条。因为之所以有些面试会设置脱离框架手写算法的题目,就是为了看你对基本概念/模块的理解程度。
到此,以上就是小编对于机器学习面试用Python写算法的问题就介绍到这了,希望介绍关于机器学习面试用Python写算法的2点解答对大家有用。