热门标签 | 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


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

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

推荐阅读
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了在Python中使用zlib模块进行字符串的压缩与解压缩的方法,并探讨了其在内存优化方面的应用。通过压缩存储URL等长字符串,可以大大降低内存消耗,虽然处理时间会增加,但是整体效果显著。同时,给出了参考链接,供进一步学习和应用。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Carve库在Visual Studio2015中的编译方法及注意事项
    本文介绍了在Visual Studio2015中编译Carve库的方法及注意事项。首先下载Carve库,并使用Visual Studio2015打开,生成后在bin目录下会生成.lib文件。同时,本文还指出了之前在Visual Studio2017中编译的问题,并提醒需要根据对应的平台进行编译,否则会出现报错。详细的步骤和注意事项请参考原文链接。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
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社区 版权所有