人工智能时代前沿技术社区

首页 > 人工智能 > 热点

我的人工智能转行经验——从哲学到方法

今天分享的内容主要集中在四个方面。一、人工智能学习真正的困难在那哪里;二、转行成功需要什么;三、关于上课和学习;四、关于面试。

作者: | 2020-03-30 21:23:35

今天分享的内容主要集中在四个方面。一、人工智能学习真正的困难在那哪里;二、转行成功需要什么;三、关于上课和学习;四、关于面试。

 1585574672806292.jpg

一、人工智能学习真正的困难在那哪里

很多人觉得AI的学习非常困难,可以类比于考研。AI学习真正的困难在于知识范围广、联系多、学习的范围、深度、路径都难以把握,容易跑偏。这里可以总结三个容易出现的问题:

1、方式错误:深陷细节、进度缓慢、没有框架。在我看来,正确的方法应该是先搭建轮廓,再填充血肉。

2、方向错误:偏离,应该着眼于实际需求。有转行打算的初学者需要着眼于业界常用的模型,着重基本使用(调包)和原理,同时要和工业界基本同步,如智慧决策树是完全不够的。

3、有所欠缺:没有实际操作。因此,要求至少做过一个大的模型案例;需要对数据处理、特征工程熟悉;同时需要对做的项目有业务、逻辑层面的思考。

二、转行成功需要什么

转行成功需要的是三个必要的一个补充的:

1、正确的道路和方式;

2、以转行为目的,围绕目标,有限时间;(以转行为目的是要提前了解目标岗位,提前做只是的储备,一边过去后可以快速上手,因为学习的模型十分多,不可能在短时间全部熟悉,一般来说,是会一部分然后转行,然后在岗位里不断训练成为资深人员。)

3、自我努力,填充血肉,练习与思考;(一开始搭建轮廓是最重要的,课后尽可能填充细节,课堂上的练习要自己做,大作业也要亲自上手、思考,对于代码熟悉非常有帮助。)

4、学习的初期能够得到帮扶。(还没入门之前有帮扶是很重要的,有一個東西是臨界點效应,在之前有帮助是重要的,且可以提高效率和信息,建议可以通过课堂提问和同学讨论是不错的方法。)

三、关于上课和学习

我当时学习的经验总结为四点:

1、互为补充:上课前提前看书预习,看博客相互补充,最好有预习和复习,要交作业

·看书的优点是内容严谨或细致,缺点是平铺,太多,没有主干,难懂,博客的优点是容易理解,讲解详细,可以个性化的补充,缺点是分散没有体系,所以采用的方式结合;

·上课时构建躯干,以及解决一些复杂逻辑;

·课前预习:个性化补充前置的知识点,比较细碎,可以自己去查博客,写的比数清楚明白;另外,书的知识是连贯的,有时候找一个知识点比较费力气,影响效率和感受;如果有余力可以研究算法逻辑,但是要和讲课的有区分,课堂是严谨与通俗的结合,自己看要看更加严谨或更加通俗的部分;

·课后可以在躯干外补充,更细致的拆分补充理论,或者研究代码,也可以对复杂逻辑种自己不明白的地方找东西补充研究

·作业最好要做,没有联系是理解很浅的。

2、个性化:每个热不明白的地方不一样
·学习有很多前置知识点,和一些复杂逻辑,每个人不理解的都不一样,自己去用力的时候一定要根据自己不明白的地方、个性化的去解决弥补;课堂的作用是勾勒出股价,另一个是解决推演其中复杂难以自己学习的关键点;

·关键是补充其他资料去学习:博客、看书,从不同的角度看有助于理解;

·深挖不易超过两层:根据自己情况的补充里,发现又不会的,再去查这个不会的,发现又有不会的,下专如果过于深过于执念,很耗费精力,深挖不宜超过两层。
3、关于看书:尽量和讲课区分开,看更加严谨或更加通俗的

课前如果看书,尽量避免和讲义完全一样,避免重复。如果把知识分为三层,底层是通俗易懂的概念;中间是通俗概念和严谨表述的结合,适合上课听;上层是严谨内容。

3、关于python,围绕数据处理、特征工程、建模的知识点来

·python我自己先看了基础知识,之后又看了一本《利用python进行数据分析》之后就是学习了一个天池的比赛,参考他们的代码运行了一遍。

四、关于面试

1、70%进阶理论:一个阶段已经基本熟练了,就应该进入下一个阶段,而不是等到一个阶段已经纯熟了再进入下个阶段;

·AI初学者可能把基础知识掌握70%左右就可以转行了。把基础知识掌握30%—50%就应该去参照学习别人做的比赛或者项目区学习。

2、简历方向契合:把自己简历上写到的模型所涉及的都准备的很充分,尽量和岗位有关;

·作为入门者,必须把自己简历上涉及的模型准备充分,因为一定会被问。另外就是和就业方向契合;

·个人觉得被问到模型有三个特点:一个是去做的方向主要用得到的,比如LR,一个是最基础的,比如树模型、RF,一个是比较前沿的,比如XGBOOST,不建议专研其他太前沿的,因为基础的肯定会问道,前沿的都比较难,有时间不如夯实基础。

3、工程化:一定会问;

·诸如过拟合、欠拟合、样本不均衡、评价指标、什么是AUC、ROC、FPR,怎么做特征筛选;

·怎么构建特征等等这些不是模型本身,但是涉及工程化的东西,一定会问。

4、自己做项目:实践可以加深理解

·结业项目的时候主要是学习理解别人的模型,但是理解了人很多特征方面的、异常值处理的、代码方面的,主要是学习,以后模仿;

·后来在工作里自己做了一些事情,包括区理解需求、构建特征、选择正负样本、建模等,这样有利于堆算法工程全流程链条的理解;

·如果工作种没有这种需求,可以找一个比赛自己做,不管是自己做还是区理解结束了别人开源的代码,都是有帮助的。

最后分享一下自己的避雷经验。由于转行的人之前都是做其他工作的,所以经常会有不是算法岗的岗位让你去面试,这些岗位大都是和之前的工作经验有关的,这些会问很多其他方面问题,算法问的很少,而且问的不深入不全面,这种岗位是危险的,进去了很可能永远也用不到算法,所以这种一定要去多次询问这个岗位是做什么的,这个部门是做什么的,有几个小组,有几个算法工程师,他们分别是工作几年的等德国,避免被骗;一般问算法问的多的才可能是做算法的,及时这种也必须问清楚是做什么的,因为现在很多公司的算法人员很薄弱,可能只有一个人在做的也有很多,问清楚对方部门的技术实力有助于自己的选择。