作为一个普通的程序员,到底应不应该转型AI工程师?

2023-05-16

动不动就是50万的毕业生年薪,动不动就是100万起步价的海归AI高级人才,普通员到底应不应该转型AI工程师,普通程序员到底应该如何转型AI工程师?

下面就分享几个特别典型的普通程序员成功转型AI的案例

第一个案例

是只懂 ACM 竞赛相关算法的普通程序员,误打误撞接触到了数据挖掘,之后开始系统地了解机器学习相关的知识,如今已经基本走上了数据科学家之路的经验分享。

第二个案例

是其他行业的普通程序员,具有计算机专业的人所没有的专业知识和行业大数据,他只是想把深度学习和神经网络当作工具,知道它们能做什么,如何去做。这类程序员经过4个月的转型学习,他们的经验和体会。


案例一

我曾经也只是一个只懂 ACM 竞赛相关算法的普通程序员,误打误撞接触到了数据挖掘,之后才开始系统地了解机器学习相关的知识,如今已经基本走上了正轨,开始了走向 Data Scientist 的征途。

首先作为一个普通程序员,C++ / Java / Python 这样的语言技能栈应该是必不可少的,其中 Python 需要重点关注爬虫、数值计算、数据可视化方面的应用,主要是:

如果日常只编写增删改查的代码的话,那可能数学已经忘得差不多了,需要重温线性代数和微积分的基础知识,这会为之后的学习立下汗马功劳。

再然后就是统计学相关基础

相关性分析(相关系数r、皮尔逊相关系数、余弦相似度、互信息)

  • 回归分析(线性回归、L1/L2正则、PCA/LDA降维)

  • 聚类分析(K-Means)

  • 分布(正态分布、t分布、密度函数)

  • 指标(协方差、ROC曲线、AUC、变异系数、F1-Score)

  • 显著性检验(t检验、z检验、卡方检验)

  • A/B测试

如果以上知识都具备了,再往后的路就可以开得很快了,可以一直冲刺到 Deep Learning。但在这之前我们还是需要了解不少机器学习的基础:

  • 关联规则(Apriori、FP-Growth)

  • 回归(Linear Regression、Logistics Regression)

  • 决策树(ID3、C4.5、CART、GBDT、RandomForest)

  • SVM(各种核函数)

  • 推荐(User-CF、Item-CF)

此时的你或许已经有一块可以用的敲门砖了,但离工业界实际应用还有比较大的距离,主要差距就在于 Feature Engineering,这也是我在面试考察有经验的人面前比较注重的点。

这一块中有一些比较基础的知识点,简单罗列如下:

  • 可用性评估:获取难度、覆盖率、准确率

  • 特征清洗:清洗异常样本

  • 采样:数据不均衡、样本权重

  • 单个特征:无量纲化(标准化、归一化)、二值化、离散化、缺失值(均值)、哑编码(一个定性特征扩展为N个定量特征)

  • 数据变换:log、指数、Box-Cox

  • 降维:主成分分析PCA、线性判别分析LDA、SVD分解

  • 特征选择:Filter(相关系数、卡方检验)、Wrapper(AUC、设计评价函数A*、Embedded(L1-Lasso、L2-Ridge、决策树、DL)

  • 衍生变量:组合特征

  • 特征监控:监控重要特征,fa特征质量下降

我放一张公司内部算法培训关于特征工程的 PPT,仅供学习参考:

再往后你就可以在技能树上点几个酷炫的了:

  • 提升

  • Adaboost

  • 加法模型

  • xgboost

  • SVM

  • 软间隔

  • 损失函数

  • 核函数

  • SMO算法

  • libSVM

  • 聚类

  • K-Means

  • 并查集

  • K-Medoids

  • 聚谱类SC

  • EM算法

  • Jensen不等式

  • 混合高斯分布

  • pLSA

  • 主题模型

  • 共轭先验分布

  • 贝叶斯

  • 停止词和高频词

  • TF-IDF

  • 词向量

  • word2vec

  • n-gram

  • HMM

  • 前向/后向算法

  • Baum-Welch

  • Viterbi

  • 中文分词

  • 数据计算平台

  • Spark

  • Caffe

  • Tensorflow

可以看到,不管你是用 TensorFlow 还是用 Caffe 还是用 MXNET 等等一系列平台来做高大上的 Deep Learning,在我看来都是次要的。想要在这个行业长久地活下去,内功的修炼要比外功重要得多,不然会活得很累,也很难获得一个优秀的晋升空间。

最后,关注你所在行业的最新 paper,对最近的算法理论体系发展有一个大致印象,譬如计算广告领域的几大经典问题:

相关 paper 的 gitlist 仅供参考:wnzhang/rtb-papers - https://github.com/wnzhang/rtb-papers

最最后,也要时刻关注能帮你偷懒的工具,它将让你拥有更多的时间去调参: Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱 - Python

温馨提示:想转型的可以加入群:671017482,等着你


案例二

说说我学习深度学习的经历吧

先说编程:自认会用C++, 熟悉Python

英语水平:中等,能很快读懂英文科学文献

最开始对人工智能/深度学习感兴趣是因为想用它试一试自然语言生成,后来想到一个物理方面的题目,预计可以用深度学习技术解决,开始接触深度神经网络。记录一下学习历程,

安装 Tensorflow(google 开源的深度学习程序), 尝试里面最简单的例子MNIST 获得激励。

尝试通过读书(看视频)理解最简单的全连接神经网络

先搜索找到答案:为什么要Go Deep?

  • 神经网络中输入层,隐藏层,输出层之间矩阵乘积的维度变化。

  • Weight, Bias 这些是什么,改变它们有什么结果。

  • 激励函数是什么,有什么作用,有哪些常用的激励函数

  • 误差如何向后传递,网络如何通过最小化误差函数更新,有哪些常用的优化方法

选择一种比较比较底层的神经网络开源库,tensorflow 或 theano

  • 读官方文档 https://www.tensorflow.org/versions/r0.11/tutorials/index.html

  • https://www.tensorflow.org/tutorials/

  • 看周莫凡的网络教程 https://www.youtube.com/user/MorvanZhou

  • https://www.youtube.com/user/MorvanZhou

  • 重复敲代码,重复实现例子程序

开始理解各种不同神经网络架构所能处理的问题

  • CNN 图像识别,图像处理,语音处理

  • RNN,LSTM 自然语言理解与生成

  • 增强学习,玩游戏

尝试各种开源的有意思的神经网络项目,新手可以从下面这个列表开始

  1. Andrej Karpathy blog char-rnn, Deep Reinforcement Learning: Pong from Pixels- http://karpathy.github.io

  2. Neural Style In tensorflow - https://github.com/anishathalye/neural-style

如果能翻墙,注册 twitter, facebook 账号,follow 那些文章中经常出现的大牛的名字。

他们每天提供很多新动向及最新技术,很多时候有很 Fancy的应用。

当你对这些都很熟悉的时候,开始阅读艰深的文献:

  • CNN 的原始文献

  • RNN 和 LSTM 的原始文献

  • Reinforcement Learning 的原始文献

  • Google DeepMind 发表在 Nature 上的几篇经典

最后强调一个最最重要的事情:要有自己的想法,有将这种新技术用到自己项目中的强烈愿望,从开始就要Coding,不断尝试才能不断进步。


你是属于哪类程序员呢?他们的经验你又是否能用上呢?

你是否想要转型?如果你想的话,可以加入我的qq群:671017482,希望可以给你一些帮助和建议。记得点个关注哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

作为一个普通的程序员,到底应不应该转型AI工程师? 的相关文章

随机推荐

  • 使用QZXing识别图片二维码

    欢迎访问http brightguo com 试了下QZXing这个识别二维码库 xff0c 下载地址 xff1a 百度网盘 CSDN下载链接 本站下载连接 在github上下载qzxing xff08 https github com z
  • 【原创】岁月如歌 一款网易歌单生成pdf的软件

    介绍 这是一款可以将网易云音乐的歌单中所有歌词输出为pdf的软件 项目持续维护地址 http brightguo com song list to pdf 目前没有搜到相关网易歌单导出为pdf的软件 xff0c 因此我特地将此软件开发出来免
  • 国内人脸识别公司哪家强,人脸比对跑个分比较下!

    前不久 最强大脑 第四季第一期的舞台上 xff0c 王峰对阵小度机器人进行了 人机大战 xff0c 其中最精彩和有趣的是第一场pk 从小时候照片判别长大后对应的人 xff0c 而她有个姐姐 xff0c 这对姐妹恰恰是双胞胎 xff01 百度
  • 永久音乐外链

    使用skydrive上传速度变慢了 xff01 2013 2 14 文摘 xff1a http tieba baidu com p 1735575571 被删掉了 xff0c 2013 2 14 一直在申请吧主 xff0c 估计申请不上了
  • Apache2.2+MySql5.5+PHP5.4的安装和配置(windows)

    Apache2 2 43 MySql5 5 43 PHP5 4的安装和配置 phpMyAdmin的安装和配置 安装 Apache2 2 http httpd apache org download cgi apache24 Win32 Bi
  • 往oracle中插入geometry的两种方式

    方式一 xff08 传入的是wkt xff09 xff1a INSERT INTO tablename id GEOMETRY VALUES 1 SDO GEOMETRY 39 LINESTRING 115 48883 36 59252 1
  • 反思了一下过去几年的程序员之路

    最近回忆起一年前的找工作时的面试时的题目 xff0c 很多基础题都没做好 xff0c 很多概念也混淆不清 虽然自己这几年写的代码不少 xff0c 但都使用自己熟悉的东西写 xff0c 而已经有很多新的技术新的方法却没有使用过 一方面公司自己
  • 怎样使用OpenCV进行人脸识别 [停止更新]

    唯一持续维护地址 xff1a http guoming me face recognition with opencv 更新 2013 6 27 停止人脸识别的研究 xff0c 具体人脸识别系统可以参见文章 使用Kinect进行人脸识别 K
  • OpenCV矩阵运算

    一 矩阵 Mat I img I1 I2 dst A B double k alpha Scalar s 1 加法 I 61 I1 43 I2 等同add I1 I2 I add I1 I2 dst mask dtype scaleAdd
  • OpenCV官方学习文档[2013-7-4更新][最新版本2.4.6]

    最新的OpenCV2 4 6文档更新参见 xff1a http guoming me opencv OpenCV配置视频 OpenCV2 4 6 2013 7 3更新 http opencv org opencv 2 4 6 is out
  • adb: error: failed to copy ... remote couldn‘t create file: Permission denied

    参考 xff1a https blog csdn net qq 39952796 article details 104511806
  • Java面试题总结(乱序版,2020-09-03)

    一 如何实现数组和 List 之间的转换 xff1f String arr 61 34 zs 34 34 ls 34 34 ww 34 List lt String gt list 61 Arrays asList arr System o
  • 【计算机网络 24】TCP/IP数据包结构详解

    一 前言 一般来说 xff0c 网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作 xff0c 但是一些特殊的情况下 xff0c 就需要深入的理解 网络数据包的结构 xff0c 以及协议分析 如 xff1a 网络监控 xff
  • 读《Java编程思想第五版》心得体会

    x1f345 Java学习路线 xff1a 搬砖工逆袭Java架构师 x1f345 简介 xff1a Java领域优质创作者 x1f3c6 CSDN哪吒公众号作者 Java架构师奋斗者 x1f4aa x1f345 扫描主页左侧二维码 xff
  • 操作系统基础知识详解

    作者简介 哪吒 CSDN2022博客之星Top1 CSDN2021博客之星Top2 多届新星计划导师 博客专家 专注Java硬核干货分享 立志做到Java赛道全网Top N 本文收录于 Java基础教程系列 目前已经700 订阅 CSDN最
  • 【SUSE Linux kernel版本升级】SUSE Linux Enterprise Server 12 SP5

    安装完SUSE Linux操作系统后 xff0c 正常会将SUSE Linux的kernel升级至最新版本 本次实验环境是SUSE Linux Enterprise Server 12 SP5 xff1a cat etc release S
  • 一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬

    消息队列 为什么写这篇文章 博主有两位朋友分别是小A和小B 小A xff0c 工作于传统软件行业 某社保局的软件外包公司 xff0c 每天工作内容就是和产品聊聊需求 xff0c 改改业务逻辑 再不然就是和运营聊聊天 xff0c 写几个SQL
  • iOS开发之NSMutableParagraphStyle富文本

    在iOS开发中 xff0c 常常会有一段文字显示不同的颜色和字体 xff0c 或者给某几个文字加删除线或下划线行间距的需求 就需要富文本来实现 一 实例化方法和使用方法 NSMutableAttributedString detailStr
  • Ubuntu一直卡死的问题(18.04)

    昨天今天Ubuntu突然出现了一个问题 xff0c 就是每次开机不到5分钟 xff0c 随便点击一下浏览器或者其他的地方就会卡住 xff0c 但是鼠标可以移动 xff0c 就是无法点击 xff0c 而且等待一段时间后会出现黑屏然后提示如下图
  • 作为一个普通的程序员,到底应不应该转型AI工程师?

    动不动就是50万的毕业生年薪 xff0c 动不动就是100万起步价的海归AI高级人才 xff0c 普通员到底应不应该转型AI工程师 xff0c 普通程序员到底应该如何转型AI工程师 xff1f 下面就分享几个特别典型的普通程序员成功转型AI