主页 > imtoken钱包最新版本 > 是否需要自己实现机器学习算法?

是否需要自己实现机器学习算法?

imtoken钱包最新版本 2023-12-18 05:10:22

更新

看的人很多,也有人指出前面言论的不足之处。 为了防止原来的答案误导,我在这里重新补充一下。

1.是否实施取决于需求。 原答案假设大家以后不会以科研为主要出路

2.之前我是这么写的,因为传统的机器学习在实际工作中很少用到。 比如SVM的计算速度慢,rbf核的稳定性不高; GBDT可以用XGBoost和LightGBM代替,实现GBDT意义不大,因为后两者还是有很多区别; Lasso和Ridge只是一阶和二阶Norm约束,最小二乘基本能写就ok了,原回答写到非要实现就LR实现,如果LR能看懂基础的话,一般的regression是不行的一个问题; 对于聚类,内容差别很大,实际中也用到了kmeans算法。 有很多限制,而其他如吸引力聚类则不需要限制类别。 当很少使用经典机器学习时,实现的优先级相对较低。

3.阅读+切换包,这个好像很有争议。 原答案的大前提是提高自己的编程水平,可以刷leetcode,也可以看看github项目的源码。 比如别人能不能写出伪代码用编程语言实现或者写出大概的思路? 如果没有,那么首要的任务就是提高编程水平,否则即使实现了一个算法,也只是一个算法。 不过这个问题好像跟专业有关。 不同的专业似乎对此有不同的看法。 一般来说,理解原理不容易忘记,更容易忘记实现代码。 所以还是建议看书,因为如果把原理搞明白了,也就几个月或者更晚的时间。 说到这个算法时间长了,尤其是和别人交流起来更方便,如果有人喜欢写代码就好了。 但是如果你完全掌握了理论,而且你自己的编程水平还不错,即使你换了包,也不会很迷茫。

3. 提到tf和sklearn框架的熟练使用是因为真的很重要而且前者更重要,而且tf和经典机器学习可以说是完全不同的,那么各种神经网络都要实现吗? 否则,为什么只实现经典机器学习而不实现神经网络? 比如LSTM、CNN、MLP。 实际工作中的主要框架是tf.

建行易通程etc用充电吗_etc机器能用几年_用rfid技术设计etc收费系统

NLP 中使用的模型是 BERT 和 LSTM。 重点是什么? 使用腾讯语料基于向量加减法计算新特征,调整lstm参数,如层数64、128,运行模型,接下业务,重复上述过程,然后阅读最新论文。

对于推荐系统,大部分公司一般都有原有的系统。 如果好的话,就用新的,或者换成旧的。 推荐系统可以使用 MLP。 数据量大会涉及分布式spark,然后最好点scala。 同样是数据导入(数据清洗会花很多时间),上传服务器运行模型,连续开几十个进程,所以一般python进程池随便开就可以了。 不同的是tf的最终目标函数需要调整。 这个调整很有艺术感。 同时,掌握一点低维嵌入的知识也很重要。

图片处理,model主流CNN,重点是数据获取,有从网上爬的,有买图片的,甚至公司花钱请别人画etc机器能用几年,然后看最新论文,github开源项目中,CNN框架整体已经在里面了,不需要修改底层,前期重点在数据获取(核心),调参,图像会比较麻烦,因为有些会涉及到CAD,3DMAX方便各个部门之间的交流,也有渲染,但是主流算法还是CNN,但是最新的某些论文需要不时关注和转载。

量化交易和上面略有不同,可以用tf,但是sklearn和xgboost/lightgbm用的比较多。 事实上,金融特征比传统图像和自然语言更具逻辑性。 如果用深度学习自己生成特征很容易过拟合,当然不代表不能用。 这里是纯转包男。

etc机器能用几年_用rfid技术设计etc收费系统_建行易通程etc用充电吗

4.关于优势,说实话,看学校和项目经验,还有是否发表论文。 从事深度学习和机器学习的同学水平比几年前有了很大的提高。 看一看,你就能找到一份好工作。 但是现在很难,所以原答案强调多看几遍书,《机器学习百面》、《美团机器学习》要看,大家都有基础的理论知识,所以需要应用的知识,有的理论知识越巩固越好。 剩下的竞争力不是能不能实现所有算法,而是编程水平够不够,有没有项目(kaggle也可以算)

5、最后说一下包调优。 虽然不是很好,但是这个优先级可以放在最前面。 原因是花的时间最短,收获最大。 详细看sklearn的官网,很多算法基本都是用数学公式写的。 看一下,也能看懂算法的最终求解表达式。 tf官网也很好。 想学tf的话,北大有个mooc好像是《tensorflow笔记》。 也有人说,这样学面试,肯定会失败,而且原来的答案其实是写的,所以多投简历。 . . 毕竟BAT招的人不多,学习机器学习的人已经饱和了。 微软亚洲研究院也是如此。 如果你想去这些公司,肯定有很多工作要做。 原文提到的公司中,曼道金服税前21k,比较容易进,平安系(有很多)30万左右。 即使携程不做算法,数据分析也是25万。 招商银行也很好,就是招人少。 网易有33万多。 其实可以去的公司很多。 这些公司的薪水也在网上公开。 更何况做量化交易的人还是有的,只是机器学习量化交易的起薪会比较低。

6.结论同前:

1)先看sklearn/tf官网,不是说实现所有算法不好,而是说优先级不高,所以实现LR。

用rfid技术设计etc收费系统_etc机器能用几年_建行易通程etc用充电吗

2)书可以多看几遍,每看一遍,通话时间就会短一些。 经验是可以积累的。 比如我看李航的书,第一次看有点吃力,但是反反复复看了N遍。 ,读完一本书应该不会花一个小时,因为很多已经耳熟能详的内容完全可以跳过。 这样以后复习的时候,看书的时间就很少了。 因为脑子里想的东西很难忘记,所以我也把《机器学习实战》里面的算法都实现了一遍,又抄了一遍,自己写,花了很多时间。 但是现在我都快忘记了,因为在算法的实现中有很多细节并不是算法本身的核心。

3)提高你的编程水平。 当你看书犹豫不决,进而对switch包充满疑惑甚至感到空虚时,问题出在编程水平不够,而不是机器学习算法本身。 这时候你就可以明白,实现算法也是在提高编程水平,但是提高编程水平并不意味着实现了算法,只是实现了很快就被遗忘了。 之前说过刷leetcode是一种方式。 在github上找一些开源项目看看别人写的也是一种方式,这两种方式对于提高编程水平都有好处。

4)做一个优秀的switchman,可能这个词本身就带有贬义,所以很多人不会当真,但是一个优秀的switchman不会不懂原理,很简单的例子,比如一个使用卡尔曼滤波的任务实现了数据滤波,会不会实现卡尔曼滤波? 大体的过程就是搞清楚什么是卡尔曼滤波器,了解卡尔曼滤波器的原理,找到封装调用,如果自己不会实现的话。 当新的任务不在你的知识范围内时,你是需要完全实现底层还是借助别人造的轮子来理解原理? 使用基础轮子复现论文比完全自己构造轮子效率高很多,计算速度也会快很多。

PS:每个人都有自己的看法。 我只说我自己的经历和我所看到的。 正如我之前所说,可能存在样本偏差。

etc机器能用几年_建行易通程etc用充电吗_用rfid技术设计etc收费系统

以下为原答案

——————————————————————

结论:没必要。

相信很多机器学习都是从李航,西瓜书,各种公开课(林轩天,ag等)那里学来的,然后用《机器学习实战》去实现所有的基础算法。 我做了同样的事情。 我当时很有成就感,结果发现用处不大。

建行易通程etc用充电吗_etc机器能用几年_用rfid技术设计etc收费系统

1、编程水平的提高并不意味着这些算法的实现会有很大的进步。 不如把这段时间花在多看几遍sklearn和tf的文档,成为一个合格的packager

2、没有实现算法,无法理解算法的细节? 如果有这个时间,最好看《西瓜书》、《统计学习方法》、《深度学习》,还有工程类的《白面机器学习》、《美团机器学习》,把tf官网扫几遍次。

3.我身边有的人拿到了阿里达摩、京东、网易、360的4个offer,没看到他们去实现底层算法。 他们去平安科技做NLP,也没有看到别人去实现底层算法。 他们还拿了Mandao Financial Services的offer has not been realized等等,还有很多很多。 当然,可能会有样本偏差,但还是说,有这个时间,还是做个优秀的拳击手比较好。

4.实际使用过程中的经典算法基本都是LR,然后继承LightGBM等算法,其余的推荐系统、NLP、CV基本都是tensorflow或者类似的深度学习框架。 模型一般是经典的MLP、LSTM、CNN、BERT,或者论文的一些变体模型。 其他机器学习模型可用,但很少。

综上所述,非要实现的话,那么LR就差不多完成了。 剩下的时间etc机器能用几年,提高自己的编程能力。 多看几遍上面的书,刷刷Leetcode,有能力就发paper。 如果你不能也没关系。 无论如何,投多少简历就投多少。 不上网,只要牢记原则,成为优秀的切换台。 没有时间,先做一个优秀的切换台。

etc机器能用几年_建行易通程etc用充电吗_用rfid技术设计etc收费系统