Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Datawhale转载

这是一篇关于如何成为一名AI算法工程师的长文

这是一篇关于如何成为一名 AI 算法工程师的长文~

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

正好回头看看自己这一年走过的路,进行一次经验总结。

来看看你距离成为一名 AI 工程师还有多远吧~

具体内容:

  •  我是因为什么开始接触敲代码

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

  • 自学如何寻找学习资料

  • 如何选择编程语言/框架

  • 校招/社招/实习/面试经验

  • 一碗鸡汤

声明:

  •  本篇内容均属于个人观点,建议采纳对自己有用的经验,如有疏漏,欢迎指正,共同进步!

  • 2017 年 5 月开始第一份实习 / 2017 年 7 月开始学敲代码 / 2017 年 11 月硕士毕业

  • 擅长的编程语言:R / Python

  • 不花钱报班,全靠自学,最初是因为穷,后来发现「开源」的世界真是太美好了!

我是因为什么开始接触敲代码?

我的第一个模型是什么?

由于本科是数学,研究生是量化分析,第一份实习是一家金融科技公司,开始接触所谓的「Fintech」😝

第一个任务就是做客户的信用评分卡模型,目的给每个用户打一个信用分数,类似支付宝的芝麻信用分。这是银行标配的一个模型,最常见最传统的算法用的就是逻辑回归。

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

虽然说是建模任务,但是前三个月跟建模基本都扯不上边。都在做数据清洗,表格整理(摊手),都在 library 各种包,用的最多的可能是 data.table 和 dplyr。没办法,很多模型都有包可以直接调用,是最简单的环节了。

其实一开始,我一直在犯很低级的错误,各种报错,没有 library 啦,标点符号没打对啦,各种很 low 的错误犯了一次又一次,而且连报错的内容都不会看,不知道怎么去改正。如果你也像我一样,真的请不要灰心,我就是这样走过来的。对着错误一个个去解决就好了~

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

敲代码容易吗?

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

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

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

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

  • 从敲出第一行代码到敲出第一个完整的模型花了 3 个月。

  • 学习 XGBoost,光是理论学了 3 个月,因为前期铺垫要学的还有 adaboost/gbdt 和各种机器学习的知识模块。

  • 从 R 切换到 python 花了 1 个月。

  • 机器学习 (Machine Learning) 切换到自动机器学习 (Auto Machine Learning) 花了 2 个月。

  • 从 NLP 零基础到搭建一个智能问答机器人花了 1 个月。

从一年前的「什么是过拟合,什么是交叉检验,损失函数有哪些」到后来参加全球人工智能峰会时都能听懂的七七八八,会觉得,努力没有白费呀!

可以看出,经过前面的积累,后面会学的越来越快。

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

已经有几个朋友说想转行了,我何曾没想过,只是不知不觉中坚持了下来而已。因为热爱,越虐越停不下来🌈

小结

📌设定一个非常清晰的目标

为什么第一个写:「我是因为什么开始敲代码的」,因为动机真的非常重要!

所以,很多人在问我「如何学 python?」这种问题时,我的第一回答都是「你学 python 用来干嘛?」

在学校也敲打过 python,做个爬虫 demo 什么的,因为目的性不强没多久就放一边了。清晰的目标就比如说你要做 NLP,你要知道 NLP 的应用有智能问答,机器翻译,搜索引擎等等。

然后如果你要做智能问答你要知道现在最发达的技术是深度学习,使用的算法有 RNN/LSTM/Seq2Seq/等等一系列。

而我的清晰目标是在实习的时候给我的任务。当任务很明确的时候,所需要的语言就明确了,所要学习的算法也就明确了,很多东西就顺理成章了不用一头乱撞了。

📌从金融到科技

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

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

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

这些词儿之间到底什么关系?

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

计算机的「算法」与 数学的「算法」的区别

理论知识对于 AI 算法工程师极其重要。敲代码只是思路的一个实现过程。这里的「算法」和计算机 CS 的「算法」还不太一样,AI 算法是偏数学推导的,所以数学底子还是需要点的,学的越深,要求越高。面试的时候,很少让手写代码,90% 都是在问模型抠算法细节。

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

机器学习的框架

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

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

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

机器学习如何入门

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

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

再推荐一个入门神器:

  • Kaggle(www.kaggle.com)

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

📌ML 入门该参加的赛题(Titanic)

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

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

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

深度学习的入门算法有哪些

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

深度学习是跟着图像处理火起来的。甚至现在这个概念都火过了「机器学习」。

深度学习的算法主要都是神经网络系列。入门推荐 CNN(卷积神经网络) 的一系列:

  • LeNet5

  • AlexNet

  • VGG

  • GoogleNet

  • ResNet

自学如何寻找学习资料?

开源的世界,美好的世界❤

「开源」,我的爱!代码届里开源的中心思想就是,share and free😍

对于机器学习,网上的社区氛围特别好,分享的很多很全面,而且 MLer 都非常乐于助人。

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

📌kaggle(www.kaggle.com)

全球最权威的机器学习比赛,已被谷歌收购。赛题覆盖传统机器学习、nlp、图像处理等,而且都是很实际的问题,来自各行各业。kaggle 是数一数二完善的 ML 社区了,赛题开放的数据集就很有用,非常适合新手练手。对优秀的 kaggler 也提供工作机会。

📌github(www.github.com)

全球最大同性交友网站,适合搜项目,开源大社区,大家一起看星星,看 issue~

📌StackOverFlow(www.stackoverflow.com)

代码报错找它,代码不会敲找它!所有与代码相关的坑,基本都有人踩过啦😂

📌csdn(www.csdn.net)

最接地气的博客聚集地,最常看的网页之一,一般用来搜索细节知识点或者代码报错时

📌sklearn(scikit-learn.org/stable)

专业做机器学习 100 年!各算法各技巧的例子 code 应有尽有

📌medium(medium.com)

创办人是 Twitter 的创始人,推崇优质内容,国内很多 AI 公众大号的搬运都来自于这里,medium 里每个作者都有自己独特的见解,值得学习和开拓眼界,需要科学上网

📌towards data science(towardsdatascience.com)

与 medium 很像,需要科学上网

📌google AI blog(ai.googleblog.com)

谷歌的 AI 团队维护的博客,每天至少更新一篇技术博客。刚在上海开的谷歌开发者大会宣布将会免费开放机器学习课程,值得关注一下,毕竟是 AI 巨头

📌各种大神的技术博客/个人网站

有很多的网站,会不定期的更新在我的个人博客里

有口碑的 AI 公开课平台

首先说明我没有上课,也没有报班,属于个人学习习惯问题。但考虑到学习差异性,所以还是总结了口碑排名靠前的课程系列。前提,需要有一定数学基础,没有的可以顺便补一补。

📌coursera(www.coursera.org/browse)

📌吴恩达 (Andrew Ng) 机器学习

📌deeplearning.ai(www.deeplearning.ai)

📌fast.ai(www.fast.ai)

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

📌udacity(in.udacity.com)

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

📌网易云课堂

碎片时间

科技圈也是有潮流要赶的,等你入坑就知道。

追最新的论文,最新的算法,最新的比赛,以及 AI 圈的网红是哪些~有条件的开个 twitter,平时娱乐看看机器学习板块还是蛮有意思的,有很多自嘲的漫画~

推荐几个我超爱看的 AI 主题美剧

📌硅谷(强推!简直是我日常生活,太有共鸣了~下饭剧👌)

📌西部世界(看的时候不要学我一直在思考如何实现这个那个技术😥)

实用的小技巧

📍浏览器首推 chrome

📍当阅读英文网页呼吸困难时,右击选择「翻成中文(简体)」

考过雅思和 GMAT,曾经我也是一个热爱英文的孩子,如今跪倒在海量技术文档和文献里苟活

📍搜索问题一定用 google,如果没解决是你的问题不是 google 的锅😂

baidu???ummm...... 别为难我...... 很少用

📍学会提问很重要,搜索格式推荐

语言+问题,例如:python how to convert a list to a dataframe

直接复制错误信息,例如:ValueError: No variables to save...

请把所有的问题往上抛,网上查比问人快!总是问别人会引起关系破裂的~

📍学会顺藤摸瓜

当你读到一个非常不错的技术文档时,看完别急着关掉。这可能是一个个人网站,去观察菜单栏里有没有【About】选项。或者这也可能是一个优秀的社区,看看有没有【Home】选项,去看看 po 的其它的文章。

📍很多优秀网站都是英文,科学上网必不可少

📍学习费用不来自课程,可能来自于硬件要求,学生党要利用好学校资源

小结

虽然说了那么多,但还是要说请放弃海量资料!用多少,找多少就好了!(别把这句话当耳旁风🙄)

资料不在量多而在于内容是有质量保证的。很多课程或者公众号只管塞知识,你有疑问它也解答不了的时候,这样出来的效果不好,就像一个模型只管训练,却不验证,就是耍流氓。

如何选择编程语言/框架

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

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

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

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

用 python 建个模型到底多难?

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

先说说建个模到底有多简单吧。

📌有优秀的算法封装框架

tensorflow / caffe / keras /... 

📌Auto ML 是不可阻挡的一个方向

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

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

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

📌Anaconda

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

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

推荐几个 python 的 IDE

📌Spyder

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

📌Jupyter Notebook

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

📌PyCharm

对于写项目的,或者代码走读的比较友好。当你需要写好多 python 文件互相 import 时,特别好用。

我的笔记本配置

(不考虑经济约束的请忽略这条)

牌子+型号:ThinkPad X1 Carbon

推荐配置:i7+16G 内存+256G(或更多) 硬盘

系统推荐:Linux,因为开源,有空可以玩玩

校招/社招/实习/面试经验

如何安排校招

大厂的开放时间会比较早,密切关注网申时间节点:

  • 2019 届的秋招:2019 年 7 月 - 2019 年 11 月

  • 2020 届的春招:2020 年 2 月 - 2020 年 4 月

  • 2020 届的暑期实习:2020 年 3 月 - 2020 年 5 月

  • 2020 届的秋招:2020 年 7 月 - 2020 年 11 月

  • (以此类推)

手撕代码能力

建议提早半年开始准备。我的代码也是从实习开始敲起,敲了半年才觉得下手如有神哈哈。不要做没实际意义的课后题,也不要照着书本例题敲,敲完你就忘了,书本这些都是已经排除万难的东西,得不到什么成长。

入门修炼:全国大学生数学建模竞赛、全美大学生数学建模竞赛、kaggle、天池…

项目经历/实习经历

如果明确自己的职业方向为人工智能/数据挖掘类的,请不要浪费时间去申请其他与技术无关的实习。端茶送水,外卖跑腿,打印纸并不能帮你。当时由于身边同学都断断续续出去实习,面前有一份大厂行政的实习,我…竟然犹豫了一下,好在也还是拒绝了。

尽量选择大厂的技术实习,毕竟以后想进去会更难。但是不要因为一个月拿 3000 块就只干 3000 块的活。把整个项目跟下来,了解框架的架构,优化的方向,多去尝试,就算加班(加班在深圳很正常)也是你赚到,思考如何简化重复性工作,去尝试了解自己部门和其他部门的工作内容与方向,了解的越多你对自己想做的事情了解的也越多。

我实习做的评分卡模型,除了传统逻辑回归,也尝试新的 XGB 等等,而且虽然别人也在做,但是私下自己会把整个模型写一遍,包含数据清洗和模型调优等,这样对业务的了解也更透彻,面试起来所有的细节都是亲手做过的,也就比较顺了。

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

BAT 常见的面试题(不分先后)

  • 自我介绍/项目介绍

  • 类别不均衡如何处理

  • 数据标准化有哪些方法/正则化如何实现/onehot 原理

  • 为什么 XGB 比 GBDT 好

  • 数据清洗的方法有哪些/数据清洗步骤

  • 缺失值填充方式有哪些

  • 变量筛选有哪些方法

  • 信息增益的计算公式

  • 样本量很少情况下如何建模

  • 交叉检验的实现

  • 决策树如何剪枝

  • WOE/IV 值计算公式

  • 分箱有哪些方法/分箱原理是什么

  • 手推 SVM:目标函数,计算逻辑,公式都写出来,平面与非平面

  • 核函数有哪些

  • XGB 原理介绍/参数介绍/决策树原理介绍/决策树的优点

  • Linux/C/Java 熟悉程度

  • 过拟合如何解决

  • 平时通过什么渠道学习机器学习(好问题值得好好准备)

  • 决策树先剪枝还是后剪枝好

  • 损失函数有哪些

  • 偏向做数据挖掘还是算法研究(好问题)

  • bagging 与 boosting 的区别

  • 模型评估指标有哪些

  • 解释模型复杂度/模型复杂度与什么有关

  • 说出一个聚类算法

  • ROC 计算逻辑

  • 如何判断一个模型中的变量太多

  • 决策树与其他模型的损失函数、复杂度的比较

  • 决策树能否有非数值型变量

  • 决策树与神经网络的区别与优缺点对比

  • 数据结构有哪些

  • model ensembling 的方法有哪些

小结

问题是散的,知识是有关联的,学习的时候要从大框架学到小细节。

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

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

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

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

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

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

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

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

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

一碗鸡汤

🌈一切才刚刚开始,别着急

AI 才刚刚起步,为什么呢?因为上数学课的时候,课本上都是柯西,牛顿,高斯等等,感觉他们活在遥远的时代,很有陌生感。但是现在,我每天用的模型是比我没大几岁的陈天奇创造出来的,我甚至 follow 他的社交账号,他就鲜活在我的世界里,这种感觉,很奇妙。

每次查论文查文献的时候,看 2017 年出来的都觉得晚了,懊悔自己怎么学的这么慢,看 2018 年 2 月出来的才心里有点安慰。这个证明,你在时代发展的浪潮上,也是一切刚刚起步的证明。机遇与挑战并肩出现的时候,是你离创造历史最近的时候。而所谓的风口所谓的浪尖都不重要,重要的是,因为你喜欢。

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

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

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

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

入门AI算法工程师机器学习
406
相关数据
网易机构

网易成立于1997年6月24日,是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

https://www.163.com/
陈天奇人物

陈天奇,华盛顿大学计算机系博士生,此前毕业于上海交通大学ACM班,研究方向为大规模机器学习。陈天奇曾获得KDD CUP 2012 Track 1第一名,并开发了SVDFeature,XGBoost,cxxnet等著名机器学习工具,是最大开源分布式机器学习项目DMLC的发起人之一。

吴恩达人物

斯坦福大学教授,人工智能著名学者,机器学习教育者。2011年,吴恩达在谷歌创建了谷歌大脑项目,以通过分布式集群计算机开发超大规模的人工神经网络。2014年5月16日,吴恩达加入百度,负责“百度大脑”计划,并担任百度公司首席科学家。2017年3月20日,吴恩达宣布从百度辞职。2017年12月,吴恩达宣布成立人工智能公司Landing.ai,并担任公司的首席执行官。2018年1月,吴恩达成立了投资机构AI Fund。

所属机构
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增量学习技术

增量学习作为机器学习的一种方法,现阶段得到广泛的关注。对于满足以下条件的学习方法可以定义为增量学习方法: * 可以学习新的信息中的有用信息 * 不需要访问已经用于训练分类器的原始数据 * 对已经学习的知识具有记忆功能 * 在面对新数据中包含的新类别时,可以有效地进行处理

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

LeNet技术

LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展。自从 1988 年开始,在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:(尤其是)图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。在那时候,没有 GPU 帮助训练,甚至 CPU 的速度也很慢。因此,能够保存参数以及计算过程是一个关键进展。这和将每个像素用作一个大型多层神经网络的单独输入相反。LeNet5 阐述了那些像素不应该被使用在第一层,因为图像具有很强的空间相关性,而使用图像中独立的像素作为不同的输入特征则利用不到这些相关性。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。

http://www.tencent.com/
相关技术
聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

温婉美丽而又顽强拼搏的张学姐现在是在那个公司高就呢?主攻CV还是NLP您觉得这两个方向相对来说哪一个更有前途一点? 来自刚起步小白😄
很有意思
哈哈哈,很有道理
好感动,能找到喜欢的东西并坚持下来,这种姿态很让人羡慕,很耀眼。
广东省智能机器人研究院・算法工程师
写的很好哦。。我又找回了5年前,找到梦想并为之奋斗的感觉。。谢谢博主。
希望和小姐姐学习!成为一名优秀的AI算法工程师!