0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于机器学习的to do & not to do

倩倩 来源:lq 作者:CDA数据分析师 2019-09-20 16:11 次阅读

前几天看到几篇不同的文章写关于机器学习的to do & not to do,有些观点赞同,有些不赞同,是现在算法岗位这么热门,已经不像几年前一样,可能跑过一些项目、懂点原理就可以了,现在对大家的要求更高,尤其工程能力更不可缺少,只跑过一些iris鸢尾花分类、啤酒与尿布、猫狗分类等的同学需要再提高提高,因为竞争太激烈了,我在这里结合我自己的经验总结一下吧。

To Do

做项目时,边搜集数据可以边用已经搜集好的少部分数据跑模型。不用等到所有数据都搜集好了再跑。

不知道什么算法合适,可以直接把所有的算法都跑一遍,看效果再选择,多跑几个应用场景你就知道什么算法适合什么场景,什么数据对不同的算法会有什么影响了。

不知道什么参数是最佳参数,可以用random search或者grid search自动搜索最佳参数组合,有经验以后对于每个参数的大概范围心里会有个数。

一定要练习工程能力,只会调参的demo侠现在很难找到工作啦。

模型复现和刷题是很好的锻炼工程能力的一种方式。

刷题不要追求数量,要总结不同类型的题目的经验,并结合之前的业务中,看能不能优化之前的业务逻辑。

模型复现可以给自己规定一个任务,譬如在一个月内,把某篇论文的Tensorflow实现的代码,复现成Pytorch或者PaddlePaddle等其他框架的代码,不是闲着没事做,而是模型复现可以迅速提高你对框架的熟悉度和代码能力。

模型复现的过程中,最难的是写新的op和模型效果(精度和速度)的对齐。这可能很折磨人,但是收获也很大。

如果要做新项目,可以先看看有没有预训练模型,可以快速做迁移学习的,如果有,那么整体的模型周期会快很多。

如果跑完算法,一定要有一个成品的形态,最好不要只做算法这一块,譬如跑完模型将其打包封装成服务接口(服务端和移动端等),达到让人可用的状态最好。

领导不想知道过程,只想知道结果。没有可用的东西和可视化的结果,他会觉得你啥也没做。

上条只针对部分领导。

没有人会比你更关心模型的参数调整导致模型的效果提升了0.1%还是1%,大多数人,尤其是leader、或者leader的leader,只关心它有什么用,真实场景的效果好不好。

可以多和同事、同行等互相交流,参加线下的学习会、交流会等,可能会有意想不到的收获。

学习新的算法,先把代码跑起来再说,再来看理论、数学推导、自己手写实现等。

除了调参以外,还需要关注关注部署上线、模型压缩等方面的内容。

Not To Do

训练数据不要太干净了,因为真实场景的数据往往和实验数据差很多,尝试加点噪音吧,做些数据增强和mixup等。

论文里的效果不一定能复现。可以尝试论文的思路,但是不要太过相信论文里的效果数据。

做一个项目就好好深挖,不仅仅要做出来,还要不断的优化,不然每个项目都只是跑通了,效果还行,没必要写到简历里,不如写一个做得很深入,尝试了各种优化方法并有效果提升的项目。

不要因为觉得自己数学不好就先去恶补数学,买一堆高等代数、数学分析、实变函数、复变函数等纯数学书,如果一定要看,推荐《线性代数》《信息论》《凸优化》《数值分析》。

上条推荐的四本数学书也不用全看,凸优化太厚了,其他三本可以在自己有大块时间可以刷书的时候,规定自己在一个月或者几个月的时间迅速刷完。线性代数是基础,数值分析是优化方法(也不用全看),凸优化与信息论与目标函数相关,涉及机器学习的很多理论知识。

不要觉得你训练的模型效果多好就多么厉害,除非是做科研、打比赛、工业界更关注能不能落地,能不能应用产生价值,不要自high = =

如果把你的算法封装成服务了,也要做做压测,学习下工程方面的内容。

最好的状态是,工程能力强,又懂算法,两者结合,效果更佳。不要只注重某一方面的提升,多关注下自己的代码风格,不要让你的同事code review的时候犯难。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61308
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47681
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130556
收藏 人收藏

    评论

    相关推荐

    物通博联带io口的智能网关实现DI、DO数据采集

    在现代工业生产中,数据采集是关键的一环,能够有效采集到设备和环境数据对于企业的生产管理至关重要。DI(Digital Input)数字输入和DO(Digital Output)数字输出是两种常见
    的头像 发表于 10-10 16:45 423次阅读
    物通博联带io口的智能网关实现DI、<b class='flag-5'>DO</b>数据采集

    do{}while(0)只执行一次有意义吗?

    在嵌入式开发中,宏定义非常强大也非常便捷,如果正确使用可以让你的工作事半功倍。然而,在很多的C程序中,你可能会看到不是那么直接的比较特殊一点的宏定义,比如do{}while(0)。
    的头像 发表于 10-09 14:20 265次阅读
    <b class='flag-5'>do</b>{}while(0)只执行一次有意义吗?

    C语言中while和do-while循环的用法

    循环是一种重要的控制结构,可以使程序重复执行一段代码,直到满足特定条件为止。在C语言中,while和do-while是两种常用的循环结构,本文将详细介绍这两种循环的用法。
    发表于 08-18 16:35 1146次阅读
    C语言中while和<b class='flag-5'>do</b>-while循环的用法

    高精度便携式微欧计DO7Plus技术参数

    本文介绍了英国Seaward高精度便携式微欧计DO7Plus技术参数
    的头像 发表于 08-03 16:29 366次阅读

    78K0S/KA1+-Do it! Starter Kit for the NEC Low Pin Count Devices用户手册

    78K0S/KA1+ - Do it! Starter Kit for the NEC Low Pin Count Devices用户手册
    发表于 06-29 18:56 0次下载
    78K0S/KA1+-<b class='flag-5'>Do</b> it!  Starter Kit for the NEC Low Pin Count Devices用户手册

    C语言-宏定义中使用do{...} while(0)到底图个啥

    在 Linux 内核中,经常会看到do{} while(0)这样的语句,许多人开始都会疑惑,认为do{} while(0)毫无意义,因为它只会执行一次,加不加do{} while(0)效果是完全一样的,其实
    的头像 发表于 06-11 10:59 481次阅读

    如何使用4515DO-DS3A004DP传感器优化数据中心冷却性能?

    4515DO-DS3A004DP传感器有助于优化数据中心的冷却和气流,该系统通过4515DO-DS3A004DP差压传感器进行监控。这些传感器将有助于了解气流模式并监控整个数据中心的效率。例如,正确密封地砖表明可能存在漏气或气流阻塞。
    的头像 发表于 06-09 15:37 259次阅读
    如何使用4515<b class='flag-5'>DO</b>-DS3A004DP传感器优化数据中心冷却性能?

    UVM中的uvm_do宏简析

    uvm_do宏及其变体提供了创建、随机化和发送transaction items或者sequence的方法。
    的头像 发表于 06-09 09:36 2895次阅读
    UVM中的uvm_<b class='flag-5'>do</b>宏简析

    4525DO-DS5AI001DP差压传感器在汽车领域应用的注意事项

    4525DO-DS5AI001DP差压传感器主要用于测量两个压力的差值,常用于测量某个设备或部件的前后两端的压力差。对于4525DO-DS5AI001DP差压传感器,有必要了解其原理,才能更好地发挥其优势。
    的头像 发表于 06-05 18:00 461次阅读
    4525<b class='flag-5'>DO</b>-DS5AI001DP差压传感器在汽车领域应用的注意事项

    4525DO-SS3AS015AS传感器在气象站的应用

    4525DO-SS3AS015AS传感器在气象领域的应用通常需要观察多种自然现象,比如风速和天气的变化,当然还有风向的变化。 对于风向的测量,基本上采用风速计或4525DO
    的头像 发表于 06-02 14:52 245次阅读
    4525<b class='flag-5'>DO</b>-SS3AS015AS传感器在气象站的应用

    MS4525DO-DS3AS002DP数字输出差压传感器的数据通道

    从功能上看,传感器实现了对现实世界中某些物理信号(温度、湿度、气压等)的采集。 在使用MS4525DO-DS3AS002DP传感器时,最重要的操作是从 4525DO-002DP 传感器中获取相应的数据。接下来,我们将进一步介绍如何通过接口获取传感器数据。
    的头像 发表于 06-02 10:55 345次阅读
    MS4525<b class='flag-5'>DO</b>-DS3AS002DP数字输出差压传感器的数据通道

    78K0S/KA1+-Do it! Starter Kit for the NEC Low Pin Count Devices用户手册

    78K0S/KA1+ - Do it! Starter Kit for the NEC Low Pin Count Devices用户手册
    发表于 05-12 19:04 0次下载
    78K0S/KA1+-<b class='flag-5'>Do</b> it!  Starter Kit for the NEC Low Pin Count Devices用户手册

    MEAS关于MS4515DO压力传感器的疑问解答

    MS4515DO压力传感器采用 CMOS调节电路,是数字输出压力(14 位)和温度(11 位)传感器,旨在满足 OEM 的极严苛要求。 MS4515DO压力传感器采用 3.3 或 5.0 Vdc
    的头像 发表于 05-12 15:11 339次阅读
    MEAS<b class='flag-5'>关于</b>MS4515<b class='flag-5'>DO</b>压力传感器的疑问解答

    4525DO-DS5AI001DP空速传感器配置步骤

    4525DO-DS5AI001DP传感器上面的动压,动压接直通管下面的静压,静压接侧边有孔的. 采用DF13端子接口。配送端子线可直接与飞控I2C扩展板直接链接
    的头像 发表于 05-11 17:04 592次阅读
    4525<b class='flag-5'>DO</b>-DS5AI001DP空速传感器配置步骤

    逻辑运算符在do循环while循环中不起作用怎么处理?

    代码:(无效) msg = \\\"\\\" cnt = 1 do cnt = cnt + 1 delay 500 loop while len(msg) &amp
    发表于 05-10 07:28