首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

如何成为一名AI人工智能算法工程师?CDA数据分析师

(来源:网站编辑 2019-07-13 18:15)
文章正文

有朋友私信问,如何学python呀,如何敲代码呀,如何进入AI行业呀?

正好回头看看自己这一年走过的路,进行一次经验总结, 这是银行的一个模型,最常见最传统的算法用的就是逻辑回归,

在课堂上使用的工具是SAS,SPSS,有操作界面的,菜单非常齐全,只需要鼠标点一点就能建模,很好上手, SAS这些要付钱的,年费还是相当的贵,所以深圳大部分公司进行数据分析和建模工作都选择开源免费的R语言或者Python, 这就了掌握一门编程语言的重要性,

说是建模任务,但是前三个月跟建模基本都扯不上边, 都在做数据清洗,整理(摊手),都在library各种包,用的最多的可能是datatable和dplyr, 没办法很多模型都有包可以直接调用,是最简单的环节了, 其实一开始我一直在犯很低级的错误,各种报错,没有library啦,标点符号没打对啦,各种很low的错误犯了一次又一次,而且连报错的内容都不会看,不知道怎么去改正, 如果你也像我一样真的请不要灰心,我就是这样走过来的, 错误一个个去解决就好了~

当时什么都不知道的时候,觉得真难呀,每个环节都有那么多细节要照顾,要学的那么多,做完一个还有一个,还要理解业务含义, 当完整的做一遍之后再回头,就会觉得,其实,也没那么难嘛~

敲代码容易吗?

因为我不是计算机专业的,所以基本上属于没怎么敲过代码的那种,

发现程序员也有好多种类的,前端后端等,因此敲的代码种类也很多,才会有几十种的编程语言,下图是一些这几年的主流语言,

时我一直被队友嫌弃很蠢,而且一开始敲的东西怎么也运行不通,运行出来的都是鬼结果, 有次想放弃的念头,“我干嘛一定要敲这玩意儿?”,但也有n+次想坚持的理由,因为我真的喜欢我正在做的事, 为什么用“”,因为真的不容易, 不,但真的需要有耐心,

一开始我的状态就是行代码的运行,一个个命令的熟悉,反复看,反复运行,

的就从一开始的那种“唉,怎么又报错啊,好挫败”的心态变成现在的“啊?没error?感觉不对啊,再查验一遍吧”这种抖M倾向的人, 虐我千百遍,我已经被磨的没有了脾气,

有几个朋友说想转行了,我何曾没想过,只是不知不觉中坚持了下来而已, 的目标就比如说你要做NLP,你要知道NLP的应用有智能问答,机器翻译,搜索引擎等等, 如果你要做智能问答你要知道现在最发达的技术是深度学习,使用的算法有RNN/LSTM/SeqSeq/等等一系列, 我的清晰目标是在实习的时候给我的任务, 当很明确的时候,所需要的语言就明确了,所要学习的算法也就明确了,很多东西就顺理成章了不用一头乱撞了,

从到科技

AI的应用范围很广,每一个研究方向都是无穷尽的, 金融公司很少与图像处理,NLP等技术会有交集,而我强大的好奇心让我决定去纯粹的科技公司一探究竟, 目前已于智能家居,目标是Javis

人工智能/机器学习/深度学习

我经常在公交的广告牌上看见这些词,好像哪家公司没有这个技术就落后了似的, 的还有强化学习,迁移学习,增量学习等各种学习,

词儿之间到底什么关系

机器学习是人工智能的一种,深度学习是机器学习的一种, 学先学机器学习,

的“算法”与数学的“算法”的区别

理论知识对于AI算法工程师极其重要, 代码只是思路的一个实现过程, 的时候,很少让手写代码,%都是在问模型抠算法细节,

在学校我是一个不爱记的人,甚至是一个不爱上课的人, 自从入了机器学习的坑后,笔记写的飞起~

机器学习的框架

按照数据集有没有Y值可以将机器学习分为监督学习、半监督学习和无监督学习, 学习是分类算法,无监督学习是聚类算法,

学习的通用流程和相关技术如下图:

ML这棵树还可以有更多的分支, 有个整体感受,再一个一个的解决掉, 的知识点也是面试最爱问的几个,是重点呀!面试过的同学应该都不陌生了,

学习如何入门

机器学习之大,初学者都无从下手, 说白了,学习就是各种模型做预测,那么就需要有数据,要想有好的效果,就要把原始的脏数据洗干净了才能用, 数据内隐藏的信息有时候是不可见的,那么就需要一些相关技巧来把有用信息挖出来, 绞尽脑汁使用的技巧,都是为了能预测的更准确, 谁也没办法做到百分百的命中,

简单介绍下机器学习的三大块:传统的机器学习ML、图像处理CV、自然语言处理NLP

再推荐一个入门神器:

Kaggle(wwwkagglecom)

这是一个世界级的最权威的机器学习比赛,已被谷歌收购, 的赛题不仅很有代表性,还有很多免费的优秀的数据集供你使用,要知道收集数据是机器学习的第一大难题,它就帮你解决了, 不用立马参加比赛,把数据下载下来,尽情折腾就好了,要是没有思路,去网上搜别人的解题笔记和代码借鉴一下也很美好~因为这是大家都争相打榜的比赛,所以你并不孤单,

ML该参加的赛题(Titanic)

图像入门该参加的赛题(数字识别)

NLP入门该参加的赛题(情感分析、quora问句语义匹配)

等做完第一个titanic的比赛应该就有点感觉了, 个比赛我都做过,觉得很经典,很适合入门,

学习的入门算法有哪些

如今的样本输入可以是文字,可以是图像,可以是数字,

学习是跟着图像处理火起来的, 现在这个概念都火过了“机器学习”,

学习的算法主要都是神经网络系列,

介绍几个我经常逛的社区,论坛,和网页:

(wwwkagglecom)

全球最权威的机器学习比赛,已被谷歌收购, 题覆盖传统机器学习、nlp、图像处理等,而且都是很实际的问题,来自各行各业, 是数一数二完善的ML社区了,赛题开放的数据集就很有用,非常适合新手练手, 对优秀的也提供工作机会, 考虑到学习差异性,所以还是总结了口碑排名靠前的课程系列, ,需要有一定数学基础,没有的可以顺便补一补,

(wwwcourseraorg/browse)

吴恩达AndrewNg机器学习

deeplearningai(wwwdeeplearningai)

fastai(wwwfastai)

专注于深度学习, Fast的创始人就蛮有意思的,是横扫kaggle图像处理的高手,不摆架子,也不故弄玄虚, ai有博客和社区, my和Rachel鼓励撰写博客,构建项目,在会议中进行讨论等活动,以实力来代替传统证书的证明作用,

(inudacitycom)

有中文版,课程覆盖编程基础,机器学习,深度学习等,

云课堂

碎片时间

科技圈也是有潮流要赶的,等你入坑就知道, 这可能是一个网站,去观察菜单栏里有没有【About】选项, 这也可能是一个优秀的社区,看看有没有【Home】选项,去看看po的其它的文章, 课程或者公众号只管塞知识,你有疑问它也解答不了的时候,这样出来的效果不好,就像一个模型只管训练,却不验证,就是耍流氓,

如何选择编程语言/

首选英语!!!(咳咳,我认真的)

说到底,语言只是工具,不去盲目的追求任何一种技术, 根据任务来选择语言不一样的程序员选择不一样的编程语言, 人最后不是把重点放在能力而是炫工具,那就有点走偏了,

观察,在机器学习组里R和Python是使用率最高的两门语言,一般你哪个用的顺就用哪个,只要能达到效果就行,除非强制规定,

我使用的感受是,人生苦短,我用python

用python建个模型到底多难?

算法任务大致分为两种,一种是普通算法工程师做的“调包、调参”,另一种是高级算法工程师做的,可以自己创建一个算法或者能灵活修改别人的算法,

说说建个模到底有多简单吧,

有的算法封装框架

tensorflow/caffe/keras/

AutoML是不可阻挡的一个方向

AutoMLautomachinelearning,自动机器学习, 就是你只管丢进去,坐等跑出结果来就行了, 前一阵子的CloudML炒的很火,愿景是让每个人都能建模,但毕竟这种服务是要钱的, 我研究了下开源的autosklearn框架的代码,发现了什么呢?建模到底有多简单呢?就,简单到行代码就可能打败年工作经验的建模师,

再说,如果你自己根本不知道自己在做什么,只能跑出来一个你不能负责的结果,就是很糟糕的,那还不是一个合格的算法工程师, 你的必须像你亲生的那样, ,只要你想,绝对能做到的!

学习python电脑上要装哪些东西

Anaconda

对,就是这么简单粗暴,装这个就ok了

学python的应该都会面临到底是python还是python的抉择吧, 版本和环境真的很让人头疼,但是Anaconda惊艳到我了,就是可以自定义python环境,你可以左手py右手py

推荐几个python的IDE

Spyder

Anaconda自带的ide, 排版与Rstudio和Matlab很相似, 什么就输出什么结果,适合分析工作,我写小功能的时候很喜欢用,

Notebook

Anaconda自带的ide,属于web界面的, 当你跑在虚拟机,想调代码的时候适合用,

PyCharm

写项目的,或者代码走读的比较友好, 当你需要写python文件互相import时,特别好用, 我的也是从实习开始敲起,敲了半年才觉得下手如有神哈哈, 不要做没意义的课后题,也不要照着书本例题敲,敲完你就忘了,书本这些都是已经排除万难的东西,得不到什么成长, 茶送水,外卖跑腿,打印纸并不能帮你, 由于身边同学都断断续续出去实习,面前有一份大厂行政的实习,我…竟然犹豫了一下,好在也还是拒绝了,

选择大厂的技术实习,毕竟以后想进去会更难, 不要因为一个月拿块就只干块的活, 把整个项目跟,了解框架的架构,优化的方向,多去尝试,就算加班(加班在深圳很正常)也是你赚到,思考如何简化重复性工作,去尝试了解自己部门和其他部门的工作内容与方向,了解的越多你对自己想做的事情了解的也越多, 我做的评分卡模型,除了传统逻辑回归,也尝试新的XGB等等,而且虽然别人也在做,但是私下自己会把整个模型写一遍,包含数据清洗和模型调优等,这样对业务的了解也更透彻,面试起来所有的细节都是亲手做过的,也就比较顺了,

没有实习在手,世界给我们数据挖掘选手的大门还是敞开着的, 上有专门给数据挖掘入门者的练习场, 的比赛还有很多,包括腾讯、阿里等大厂也时不时会发布算法大赛,目测这样的算法大赛只会越来越多,你坚持做完一个项目,你在平台上还可以得到相关名次,名次越靠前越有利哈哈哈这是废话,

没事多招聘网站看看招聘需求,了解市场的需求到底是什么样的, 变化很快,捕捉信息的能力要锻炼出来, 你可以关注的点有:名/职业方向/需要会什么编程语言/需要会什么算法/薪资/

每个面试的结尾,面试官会问你有没有什么想问的,请注意这个问题也很关键,

:这个小组目前在做什么项目/实现项目主要用什么语言和算法/…

尽量不要问加不加班,有没有加班费之类的,别问我为什么这么说(摊手)

在面试中遇到不理解的,比如C++语法不懂,可以问这个C++具体在项目中实现什么功能, 如果你提出好问题能再次引起面试官对你的兴趣,那就能增加面试成功率,

生就好好准备校招,别懒,别怕输,别怕被拒,从哪里跌倒从哪里起来, 招不是你能招呼的,会更挫败,因为你什么也没做过,

是做技术的,但是日常social一下还是收益很大的, 的时候,也要与周围同事和平相处,尤其是老大哥们,也许哪天他就帮你内推大厂去了, 内推能知道意想不到的信息,面试官,岗位需求,最近在做什么项目之类的,

给你机会的公司,不要浪费自己的时间, 不要都去,去之前了解这家公司与你的匹配度,

社招,你一改动简历就很多人给你打电话,你要有策略的去进行面试,把握总结每个机会, 像我就是榔头西一榔头的,好多都是止步于第一面,就没回信儿了,因为每次面完没有好好反思总结,等下次再遇到这问题还是抓瞎,十分消耗自己的时间和信心,

鸡汤

一切才刚刚开始,别着急

AI才刚刚起步,为什么呢?因为上数学课的时候,课本上都是柯西,牛顿,高斯等等,感觉他们活在遥远的时代,很有陌生感, 现在,我每天用的模型是比我没大几岁的陈天奇创造出来的,我甚至follow他的社交账号,他就鲜活在我的世界里,这种感觉,很奇妙, 每次查查文献的时候,看年出来的都觉得晚了,懊悔自己怎么学的这么慢,看年月出来的才心里有点安慰, 这个证明,你在发展的浪潮上,也是一切刚刚起步的证明, 与挑战并肩出现的时候,是你离创造历史最近的时候, 所谓的风口所谓的浪尖都不重要,重要的是,因为你喜欢,

一件可以坚持的事,不要停止去寻找的脚步

当人做喜欢的事情时,会发光呀!

当你因为真的热爱某件事,而不断接近它的时候,你的灵魂像是被上帝指点了迷津,受到了指示,受到了召唤, 你会很自然的知道该做什么你想做什么,好像生而为了这件事而来, 看过与六便士的应该懂这种使命感~

我不是属于聪明的那类人,我是属于比较倔的那种, 就是我认定的,我认定到底, 天知道我有多少次过自己,有多少次想放弃,但我还是选择咬牙向前,选择相信自己, 的意义就在这里

文章评论
首页
评论
分享
Top