首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「我」做算法工作的小反思!

导读 本文是作者在算法岗位上的工作反思,含算法篇和成长篇两部分,希望为在学习或在工作的大家提供一个经验参考。 大佬可以写总结给别人指导,菜鸟可以写总结给别人指坑。...原本打算是正式工作满一年以后写的,最近反思了很多事情,也找到了很多不足之处。怕以后忘记了,就想到什么写什么,什么没想到以后就补上。 1. 算法篇 虽然我没有发表过顶会论文,谈不上学术成就。...其他的就是不同平台的量化支持不同了。讲了这些我想现在还有人在用VGG还是可以理解的。Make VGG Great Again. 工作中最重要的不是论文的创新,尤其在初期做算法的套路,流程要清楚。...很多时候你找半天bug发现是数据的问题。 工作中没人关注你的算法是不是新的,是不是牛逼,代码有多难写,不能为了新颖而新颖。能解决badcase的就是好优化,不然就是白搭 。...要不断学习,我的人生宗旨就是我可以菜得被开除,但是我不能因为无所事事浑水摸鱼被嫌弃。 要和同事友好相处,工作之后明显就交际圈小了很多,同事是交流最多的人,不管怎么样,都要客客气气。

29620

工作中我常用的分析算法

统计性描述经常用到散点图 统计性描述更为侧重单变量的描述,即描述X、X与X之间的关系,在通过X去描述Y的时候,我更关心X与Y间存在何种关系,此时便需要借助散点图去印证X与Y相关的内在一致性,并通过方差...散点图是唯一一个能够描述变量与变量间相关关系的图形,在实际我的工作中出镜频率非常高,它很好的过渡了描述性统计与推论性统计之间的鸿沟。 ? 检验与方差分析几乎不用 ?...Y),另一个是如何量化Y,这两个问题涉及到你的现实问题能不能转化成统计学问题并加以处理。...客户价值分析领域常用的模型为RFM模型,例如某人在京东下了第一单,发现物流服务、线上购物体验、客服服务都很好,于是后续接连下单购买多次,通常,单量、购买时间长短、消费金额这三个指标是客户价值模型的核心衡量指标...由Y的模型延伸出来的方法便是联合分析,主要解决的是产品的结构问题,例如新买了笔记本,开始选择这个型号是因为喜欢它的颜色,然而随着时间的推移我的口味也随之升级,我开始关注内存、性能。

63150
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「 生活太重要了,不能太过严肃 」:生命游戏之父、最神奇的数学家John Conway

    正像诗人王尔德所写的一样:「生活太重要了,不能太过严肃。」 ? 4 月 11 日,英国数学家约翰·何顿·康威(John Horton Conway)因 COVID-19 去世,享年 82 岁。...他不仅热衷于玩游戏,而且还痴迷于通过心算来进行大数分解、记忆 π 值达 1111 位以上以及使用他所谓的「末日算法(Doomsday algorithm)」来近乎实时地计算给定日期的星期数。...他发明了许多奇特的算法,比如爬楼梯时无需真正计数就能统计楼梯阶数的算法、如何最好地阅读一叠双面活页纸的方法。...这些事件促使了约翰·康威赞赏协会的建立。他的剑桥同事彼得·斯维讷通-戴尔(Peter Swinnerton-Dyer)爵士说:「到目前为止他都是教职人员中最有魅力的讲师。我不能肯定魅力究竟从何而来。...「我没再试第二次,」他回忆说,「我的心脏疯了一般狂跳。我产生了大量肾上腺素,我甚至能真正感觉到血液涌入大脑。真如地狱一般吓人。但这很有趣,揭开头盖骨,看看大脑的工作方式。」

    96230

    AI开启软件2.0时代

    你坐下来写一些Python或C++代码,然后确定程序空间中的一块区域,编写一个算法,这个算法不能太复杂,因为它必须在我们有限的能力范围内。...我是特斯拉人工智能总监,我们正在应用这种方法来让自动驾驶汽车真正地运转起来。特斯拉拥有世界上最大的机器人部署规模,大约有25万个机器人。我们的工作是试图让它们实现自动驾驶,并能很好地驾驶。...我们发现,当你真正采用这种方法并让它很好地工作时,就会看到改进。 红色是我们编写的代码,蓝色是我们通过大量计算发现的代码。为了让大家具体了解这种转变以及它的样子,我们假设你想检测一辆车是否停放。...现在,关于使用2.0栈进行编程,它是什么样子的呢?你实际上在做什么?工作在哪里?你可能熟悉的是,当你编写代码时,你实际上是在设计算法。你在测量运行时间,你在设计这些算法,你写出这样的伪代码。...如果我们能把工作做得很好,我们就能让这个漂亮的机器人很好地驾驶。然后更多的人会购买特斯拉汽车,未来在地球上和地球之外都将是一个美好的地方。 如果你对软件2.0栈非常感兴趣,想把它推向极致,请联系我们。

    12510

    提高编程逻辑的 10 种最“疯狂”的方法

    最新的编程语言为程序员提供了一种简单的方法,让他们不必费时费力地来编写代码。但是,在程序设计中,逻辑仍然扮演着重要角色。 如果你不能很好地掌握逻辑的话,那么你就很难成为一名程序员。...实践 如果你想提高你的编程逻辑,那么你应该多加练习。练习是唯一能帮助你掌握一切事物的方法。开始练习编程语言最好的方法就是理解算法并反复编写,直到掌握算法为止。...在每种编程语言中都有一些用于搜索和排序的基本算法;你可以从这些算法开始。 了解数据结构 数据结构几乎是所有编程语言的灵魂。任何编程语言都不能缺少任何数据结构。...这些网站允许你随时进行代码挑战,甚至你还可以看看其他程序员提交的解决特定问题的工作。这样可以帮助你探索更多解决同一问题的方法。通过这种方式,你可以更有效地培养你在编程中的逻辑。...我不想说你可以在书籍的帮助下学习极致水平的编码。是的,但是你可以通过编程书籍掌握很好的基础知识和编程逻辑。一些高端的编程书籍有最好的示例,你也可以尝试在你的代码中实现。

    49230

    我是如何在1天内构建一个深度学习模型并进击Kaggle比赛的

    学了一半的理论课程,我还是不能完成神经网络的实现,只学会了如何用MatLab构建神经网络。后来,当我需要编写代码来训练我的网络权重时,我才终于理解了什么是随机梯度下降。...我的目标是: 在一天结束前进入排名的前50%。 自己动手编写每行代码,不用剪切和粘贴。 了解所有引用的库和API。...早上七点,我沏了一壶咖啡后开始工作,在亚马逊AWS上对GPU进行了加速。晚上9点,我的眼睛开始酸痛,我的大脑跟炸了一样。...最需要改进的的地方是漏报问题——在12个实例中算法错误地将入侵物种识别为非入侵物种。 您可以在下方查看该结果。 91%是什么概念? 就在3年前,最先进的计算机视觉识别技术也只能达到80%!...我在第一次尝试中就超越了它。 包含花的图像被正确识别 我检查了被算法正确识别的图像。大蓝色绣球花似乎是关键特征。 某些被错误识别的图像存在明显问题 这个算法错误地识别了18个图像。

    83480

    作为软件开发人员需要的技术技能

    但是,如果您刚刚成为一名专业软件开发人员,那么本文将包含一些实用且易于理解的建议。 如果你不能实际编写代码并开发软件,那么你所学到的所有软技能都不会对你有很大帮助。...我不打算在本书中详细介绍如何正确构建代码 - 就像我说的 - 我已经为您提供了一个很好的资源,但 您应该努力学习如何从一开始就编写好的,干净的代码 而不是事后学习这个技能。...在计算机科学领域有许多这样的算法,理解如何编写 这些算法的自己变体 以解决在解决实际编程问题时可能遇到的棘手问题也 很重要。...所有软件开发人员都应该熟悉几种数据结构,包括: 数组或向量 链接列表 堆栈 队列 树 哈希 集 通过很好地掌握数据结构和算法,您可以轻松而优雅地解决许多困难的编程问题...技术栈使创建应用程序变得更容易, 因为它们提供了许多开发人员用来开发应用程序的通用范例,因此可以轻松地共享知识,并且可以确保一组特定的技术可以协同工作。

    1.1K11

    我从600场技术面试中总结出的5个常见问题

    技术熟练程度 对于技术,我的打分依据是求职者对所选语言的熟练程度、他们在编写特定风格的算法时是否有严重问题以及在编写过程中是否需要大量提示。...沟通能力 面试官真的很想听到你的决策过程,这在 debug 时也非常重要。我倾向于雇佣那些能够很好地融入小型开发者团队或群体的人。考虑到这一点,协作和容易沟通是赢得我的认可的好方法。...这是一个很好的问题,从中我可以看出,当你听到一个问题时,你如何思考算法和你所做的各种假设。 我从 1982 年开始就在从事编码工作了。...然后,当我编写代码时,我也倾向于安静地工作,但我肯定会不时地停下来分享我的思考过程,然后,在我们第一次运行代码之前,我会更彻底地向你介绍代码。你能接受吗?...这表明你能在团队中很好地工作,你在营造一种既为自己着想,又为他人着想的环境。你预先说明了自己的意图,并为他们提供了在这个过程中进行协作的机会。

    34020

    数据大师Olivier Grisel给志向高远的数据科学家的指引

    Olivier Grisel(OG)本人在InriaParietal工作,主要研发scikit-learn,使用Python语言编写的最流行的机器学习库之一。...期间,他沉醉于比较两个库的优势以及scikit-learn是如何发展到能够对不能在单一服务器上进行处理的数据执行计算。...明智地选择大规模 FD:这个问题来自某个机器学习初学者,他不知道该使用哪个框架和算法可以获得更强的扩展能力,你有什么建议呢?...OG:一个很好的规则就是根据你最终必需处理的数据量来抉择,当然还要把未来数据的增量考虑进去。最近,一台配置很好的机器可以有上百G的RAM。当然,原始数据集可能比这更大。...我建议他们选择自己数据中的一个子样本,在内存中能装得下,这样就可以使用所有可用的算法来做比较机器学习的分析结果,甚至是那些永远不能部署到整个集群的算法。

    47220

    【数据科学家】数据大师Olivier Grisel给志向高远的数据科学家的指引

    Olivier Grisel(OG)本人在InriaParietal工作,主要研发scikit-learn,使用Python语言编写的最流行的机器学习库之一。...期间,他沉醉于比较两个库的优势以及scikit-learn是如何发展到能够对不能在单一服务器上进行处理的数据执行计算。...明智地选择大规模 FD:这个问题来自某个机器学习初学者,他不知道该使用哪个框架和算法可以获得更强的扩展能力,你有什么建议呢?...OG:一个很好的规则就是根据你最终必需处理的数据量来抉择,当然还要把未来数据的增量考虑进去。最近,一台配置很好的机器可以有上百G的RAM。当然,原始数据集可能比这更大。...我建议他们选择自己数据中的一个子样本,在内存中能装得下,这样就可以使用所有可用的算法来做比较机器学习的分析结果,甚至是那些永远不能部署到整个集群的算法。

    66880

    【机器学习】从零实现来理解机器学习算法

    从零开始实现机器学习算法的好处 我推广了从零开始实现机器学习算法的观念。 我认为你可以学到很多关于算法是如何工作的。...无论如何,让我们从零开始机器学习教程,深入研究这5个常见的障碍: 1)代码不能正常工作 最糟糕并且最常见的障碍就是实例当中的代码不能正常工作。...我(或许比较温和)把他们称为“糟糕的描述”,因为可能有很多的症状和原因。例如: 代码和描述之间的不匹配。这可能是由于代码和文本在不同时间准备而造成的,并且不能正确地编辑起来。...我认为代码列表应该给你所需要的,给你一个“完整”的代码和工作实现,即使它是最简单的情况。 你可以建立一个简单的实例,但你不能运行一个不完整的例子。你必须把它放在工作中并把所有的都联系在一起。...这个障碍可能成为事实的一些原因是: 冗长的描述。冗长的编写可能是一个不完整思维的标志。但有时候,也不一直都是这样。如果理解的不是很好,可能会在潜意识里试图用一堆词来掩饰。

    91690

    从零实现来理解机器学习算法:书籍推荐及克服障碍的技巧

    从零开始实现机器学习算法!图片来自Tambako The Jaguar 从零开始实现机器学习算法的好处 我推广了从零开始实现机器学习算法的观念。 我认为你可以学到很多关于算法是如何工作的。...无论如何,让我们从零开始机器学习教程,深入研究这5个常见的障碍: 1)代码不能正常工作 最糟糕并且最常见的障碍就是实例当中的代码不能正常工作。...我(或许比较温和)把他们称为“糟糕的描述”,因为可能有很多的症状和原因。例如: 代码和描述之间的不匹配。这可能是由于代码和文本在不同时间准备而造成的,并且不能正确地编辑起来。...我认为代码列表应该给你所需要的,给你一个“完整”的代码和工作实现,即使它是最简单的情况。 你可以建立一个简单的实例,但你不能运行一个不完整的例子。你必须把它放在工作中并把所有的都联系在一起。...这个障碍可能成为事实的一些原因是: 冗长的描述。冗长的编写可能是一个不完整思维的标志。但有时候,也不一直都是这样。如果理解的不是很好,可能会在潜意识里试图用一堆词来掩饰。

    46950

    【机器学习】从零实现来理解机器学习算法:书籍推荐及障碍的克服

    从零开始实现机器学习算法!图片来自Tambako The Jaguar 从零开始实现机器学习算法的好处 我推广了从零开始实现机器学习算法的观念。 我认为你可以学到很多关于算法是如何工作的。...无论如何,让我们从零开始机器学习教程,深入研究这5个常见的障碍: 1)代码不能正常工作 最糟糕并且最常见的障碍就是实例当中的代码不能正常工作。...我(或许比较温和)把他们称为“糟糕的描述”,因为可能有很多的症状和原因。例如: 代码和描述之间的不匹配。这可能是由于代码和文本在不同时间准备而造成的,并且不能正确地编辑起来。...我认为代码列表应该给你所需要的,给你一个“完整”的代码和工作实现,即使它是最简单的情况。 你可以建立一个简单的实例,但你不能运行一个不完整的例子。你必须把它放在工作中并把所有的都联系在一起。...这个障碍可能成为事实的一些原因是: 冗长的描述。冗长的编写可能是一个不完整思维的标志。但有时候,也不一直都是这样。如果理解的不是很好,可能会在潜意识里试图用一堆词来掩饰。

    89390

    编程 | 2017年最受欢迎的10个编程挑战网站

    你不能直接在网站上的编辑器编码,所以你需要在自己的电脑上编写一个解决方案,然后在他们的网站上提交解决方案。 4、HackerRank ?...除了这篇社论,你目前还不能看到其他用户在 HackerRank 上的解决方案。 HackerRank 还支持用户提交应用程序,可以适用于工作、解决公司赞助编码的挑战。 5、CodeChef ?...CodeEval 与 HackerRank 类似,它也提供了一系列公司赞助的编码挑战,如果能够很好的完成挑战,还可能帮助你找到工作或者是现金鼓励等。公司会举办竞争挑战赛,以此来招募新开发人员进行工作。...CodinGame 与其他网站有点不同,因为它不是简单地在编辑器中去完成编码挑战,而是让挑战者真正参与在线游戏代码的编写。用户可以在这里看到当前提供的游戏列表和一个示例。...我还经常逛一些类似于 r/learnprogramming 这样的论坛,查看论坛用户通常推荐哪些网站。免责声明:我在 Coderbyte 工作,这也是上面提到的网站之一。

    97960

    2017年最受欢迎的10个编程挑战网站

    你不能直接在网站上的编辑器编码,所以你需要在自己的电脑上编写一个解决方案,然后在他们的网站上提交解决方案。...除了这篇社论,你目前还不能看到其他用户在 HackerRank 上的解决方案。 HackerRank 还支持用户提交应用程序,可以适用于工作、解决公司赞助编码的挑战。...6、CodeEval CodeEval 与 HackerRank 类似,它也提供了一系列公司赞助的编码挑战,如果能够很好的完成挑战,还可能帮助你找到工作或者是现金鼓励等。...10、CodinGame CodinGame 与其他网站有点不同,因为它不是简单地在编辑器中去完成编码挑战,而是让挑战者真正参与在线游戏代码的编写。用户可以在这里看到当前提供的游戏列表和一个示例。...我还经常逛一些类似于 r/learnprogramming 这样的论坛,查看论坛用户通常推荐哪些网站。免责声明:我在 Coderbyte 工作,这也是上面提到的网站之一。

    1.3K60

    用于入门的最佳机器学习资源

    WEKA:这是一个提供API的数据挖掘工作台,以及用于整个数据挖掘生命周期的大量命令行和图形用户界面。您可以准备数据,可视化探索,构建分类,回归和聚类模型,许多算法都内置在第三方插件中。...风险就是你所要做的就是消费,不能采取行动。我建议你在观看视频的时候应该记笔记,即使你稍后放弃笔记。我也建议你尝试一下你在课堂中学到的东西。...坦率地说,我所见过的所有视频课程都不适合初学者,对于一个真正的初学者。它们都预设了至少线性代数和概率论的工作知识,等等。...关于机器学习的一些有用的知识:这是一个很好的论文,因为它从特定的算法中退出,并激发了一些重要的问题,如特征选择泛化和模型简单。从一开始就从正确的角度思考,这是一件好事。...它再次提供了实用的工作实例,但它更多的是一个数据分析的味道,并使用地是R.我真的很喜欢这本书! 机器学习:一个算法的角度。这本书就像编程集体智慧的更高级版本 (上图)。

    1.2K100

    36个助你成为专家需要掌握的JavaScript概念

    3、值类型和引用类型 最近,我对“通过引用传递”的概念在JavaScript中的工作方式有些困惑。...如果你不能正确地理解它,稍后你的应用程序将会遇到各种问题。 如果你对this关键字有很好的理解,那么你可以关注apply、call和bind方法。 这些方法是调用具有适当上下文的函数所必需的。...23、 递归 递归是所有编程语言中的一个常见概念。简单地说,递归就是把大问题分解成小问题的概念。 实际上,这通常意味着编写一个调用自身的函数。...结合我对项目的工作知识,我能够有一个清晰的理解。 26、 异步编程 要理解什么是异步编程,我们首先应该刷新同步编程的知识。...没有固定的规则规定你应该使用这些算法之一,但是这些算法在性能方面是众所周知的,并且有很好的文档证明。 你甚至可以创建自己的算法,并将其介绍给世界。

    71220

    每个优秀程序员必须具备的技术技能

    我的意思是,如果你不能编写代码和开发软件,那么你学习众多软技能有个卵用。也许你可以成为一名优秀的管理人员或指导人员,但不会是软件开发人员。...有一个很好的资源来帮助你学习这个非常宝贵的技能:Steven McConnell的《Code Complete 》。 我所说的构造代码是什么意思呢?...良好的代码结构展示了对这种技艺的热衷,而不仅仅是为了完成工作。 构建代码是软件开发真正的艺术部分,但它也是至关重要的,因为你和你的同事得花费相当多的时间来维护现有的代码,而不是编写新的代码。...具体应该如何正确地组织代码我就不说了,因为我已经给出了一个很好的资源,但是要努力学习如何从一开始就写出好的、干净的代码,而不是事后学习这个技能。...但好像没有人愿意调试自己的代码? 这就是真相。 大约90%的时间软件开发人员是用来搞清楚到底为什么代码不能正常工作。 我知道你只是想能够整天写新的代码,但是此路不通。

    56710
    领券