热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

专业的机器学习人才做研究,有哪些好的建议?

基本功说到底机器学习还是需要一定的专业知识,这可以通过学校学习或者自学完成。但有没有必要通晓数学,擅长优化呢?我的看法是不需要的,大前提
  1. 基本功

说到底机器学习还是需要一定的专业知识,这可以通过学校学习或者自学完成。但有没有必要通晓数学,擅长优化呢?我的看法是不需要的,大前提是需要了解基本的数学统计知识即可,更多的讨论可以看我这个答案「阿萨姆:如何看待「机器学习不需要数学,很多算法封装好了,调个包就行」这种说法?」。最低程度下我建议掌握五个小方向,对于现在和未来几年内的工业界够用了。再一次重申,我对于算法的看法是大部分人不要造轮子,不要造轮子,不要造轮子!只要理解自己在做什么,知道选择什么模型,直接调用 API 和现成的工具包就好了。

回归模型(Regression)。学校的课程中其实讲得更多的都是分类,但事实上回归才是工业届最常见的模型。比如产品定价或者预测产品的销量都需要回归模型。现阶段比较流行的回归方法是以数为模型的 xgboost,预测效果很好还可以对变量重要性进行自动排序。而传统的线性回归(一元和多元)也还会继续流行下去,因为其良好的可解释性和低运算成本。如何掌握回归模型?建议阅读 Introduction to Statistical Learning 的 2-7 章,并看一下 R 里面的 xgboost 的 package 介绍。分类模型(Classification)。这个属于老生常谈了,但应该对现在流行并将继续流行下去的模型有深刻的了解。举例,随机森林(Random Forests)和支持向量机(SVM)都还属于现在常用于工业界的算法。可能很多人想不到的是,逻辑回归(Logistic Regression)这个常见于大街小巷每一本教科书的经典老算法依然占据了工业界大半壁江山。这个部分推荐看李航《统计学习算法》,挑着看相对应的那几章即可。神经网络(Neural Networks)。我没有把神经网络归结到分类算法还是因为现在太火了,有必要学习了解一下。随着硬件能力的持续增长和数据集愈发丰富,神经网络的在中小企业的发挥之处肯定会有。三五年内,这个可能会发生。但有人会问了,神经网络包含内容那么丰富,比如结构,比如正则化,比如权重初始化技巧和激活函数选择,我们该学到什么程度呢?我的建议还是抓住经典,掌握基本的三套网络: a. 普通的 ANN b. 处理图像的 CNN c. 处理文字和语音的 RNN(LSTM)。对于每个基本的网络只要了解经典的处理方式即可,具体可以参考《深度学习》的 6-10 章和吴恩达的 Deep Learning 网课(已经在网易云课堂上线)。数据压缩 / 可视化(Data Compression & Visualization)。在工业界常见的就是先对数据进行可视化,比如这两年很火的流形学习(manifold learning)就和可视化有很大的关系。工业界认为做可视化是磨刀不误砍柴工,把高维数据压缩到 2 维或者 3 维可以很快看到一些有意思的事情,可能能节省大量的时间。学习可视化可以使用现成的工具,如 Qlik Sense 和 Tableau,也可以使用 Python 的 Sklearn 和 Matplotlib。无监督学习和半监督学习(Unsupervised & Semi-supervised Learning)。工业界的另一个特点就是大量的数据缺失,大部分情况都没有标签。以最常见的反诈骗为例,有标签的数据非常少。所以我们一般都需要使用大量的无监督,或者半监督学习来利用有限的标签进行学习。多说一句,强化学习在大部分企业的使用基本等于 0,估计在未来的很长一阵子可能都不会有特别广泛的应用。

基本功的意义是当你面对具体问题的时候,你很清楚可以用什么武器来处理。而且上面介绍的很多工具都有几十年的历史,依然历久弥新。所以以 3-5 年的跨度来看,这些工具依然会非常有用,甚至像 CNN 和 LSTM 之类的深度学习算法还在继续发展迭代当中。无论你现在还在学校还是已经开始工作,掌握这些基本的技术都可以通过自学在几个月到一两年内完成。

  1. 秘密武器

有了基本功只能说明你可以输出了,怎么才能使得你的基本功不是屠龙之术?必须要结合领域知识,这也是为什么我一直劝很多朋友不要盲目转机器学习从零做起。而学生朋友们可以更多的关注自己感兴趣的领域,思考如何可以把机器学习运用于这个领域。比如我自己对历史和哲学很感兴趣,常常在思考机器学习和其他文科领域之间的联系,也写过一些开脑洞的文章「 带你了解机器学习(一): 机器学习中的“哲学”」。

而已经有了工作 / 研究经验的朋友,要试着将自己的工作经历利用起来。举例,不要做机器学习里面最擅长投资的人,而要做金融领域中最擅长机器学习的专家,这才是你的价值主张(value proposition)。最重要的是,机器学习的基本功没有大家想的那么高不可攀,没有必要放弃自己的本专业全职转行,沉没成本太高。通过跨领域完全可以做到曲线救国,化劣势为优势,你们可能比只懂机器学习的人有更大的行业价值。

举几个我身边的例子,我的一个朋友是做传统软件工程研究的,前年他和我商量如何使用机器学习以 GitHub 上的 commit 历史来识别 bug,这就是一个很好的结合领域的知识。如果你本身是做金融出身,在你补足上面基本功的同时,就可以把机器学习交叉运用于你自己擅长的领域,做策略研究,我已经听说了无数个“宣称”使用机器学习实现了交易策略案例。虽不可尽信,但对特定领域的深刻理解往往就是捅破窗户的那最后一层纸,只理解模型但不了解数据和数据背后的意义,导致很多机器学习模型只停留在好看而不实用的阶段。

换个角度思考,不同领域的人都有了对机器学习的理解能更好的促进这个技术落地,打破泡沫的传言。而对于大家而言,不用再担心自己会失业,还能找到自己的角度在这个全民深度学习的时代找到“金饭碗”。所以我建议各行各业的从业者不必盲目的转计算机或者机器学习,而应该加深对本专业的了解并自学补充上面提到的基本功,自己成为这个领域的机器学习专家。

  1. 弹药补给

没有什么不会改变,这个时代的科技迭代速度很快。从深度学习开始发力到现在也不过短短十年,所以没有人知道下一个会火的是什么?以深度学习为例,这两年非常火的对抗生成网络(GAN),多目标学习(multi-lable learning),迁移学习(transfer learning)都还在飞速的发展。有关于深度学习为什么有良好泛化能力的理论猜想文章在最新的 NIPS 听说也录了好几篇。这都说明了没有什么行业可以靠吃老本一直潇洒下去,我们还需要追新的热点。但机器学习的范围和领域真的很广,上面所说的都还是有监督的深度学习,无监督的神经网络和深度强化学习也是现在火热的研究领域。所以我的建议是尽量关注、学习了解已经成熟和已经有实例的新热点,不要凡热点必追。

如果你有这些基本功和良好的领域结合能力,三年五年绝不是职业的瓶颈期,甚至十年都还太早。科技时代虽然给了我们很大的变革压力,但也带给了我们无限的可能。技术总会过时,热点总会过去,但不会过去的是我们不断追求新科技的热情和对自己的挑战。

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
人工智能,机器学习和深度学习之间,主要有什么差异?
http://www.duozhishidai.com/article-15858-1.html
机器学习已经被广泛应用,但是入行机器学习主要难在哪里?
http://www.duozhishidai.com/article-15300-1.html
干货:深度学习 vs 机器学习 vs 模式识别三种技术对比
http://www.duozhishidai.com/article-15119-1.html


多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台

推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
author-avatar
许小懿_336
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有