来用自己的例子劝退一些想跳机器学习的人
首先是数学程度,
我是数学系的,什么线代,微积分,机率,统计的都很熟其实工作也会用到,
描述一些比较有印象的工作用过的数学,
比较有趣关于微积分的经验:
老板把问题用一个式子 exp(-rx)*((1/delta)*sqrt(A))*exp(-x^2/(A))来解释,
并要对x积整个实数范围。
在场大家都面面相觑我就被要求积了。
但这其实不难积,就高斯积分,有背整理一下秒解,
没背也不难推。我大学微积分没在背的所以是当场直接推,然后才继续那场会议。
机率统计就那些常见的像是:
在一堆数据中给一些想法假设然后检定,
或是想办法对一直变动pattern的资料去建对应的机率模型。
但我具体数学程度到哪,举两个例子一个是深度学习WGAN一个是经典的random forest。
https://arxiv.org/pdf/1701.07875.pdf 这是WGAN。
https://link.springer.com/article/10.1023/A:1010933404324 这是RF。
基本上里面的纯数推导我几乎都理解,
WGAN用到实分析跟线性规划,
RF则是机率。
以上大概描述一下我的数学程度。
接着是我的电脑技能,
我熟悉的语言有C++跟PYTHON,基本上各有两年以上的工作实务经验。
python就绝大部份公司机器学习用的语言不解释。
C++曾被公司要求所有算法都要自己刻,这之中还包刮神经网络,
连 backpropagation 都要自己刻,
然后资料结构算法,计算机组织,作业系统都读过。
至于程度到哪我也不好说,我自知去参加程式比赛会被电死,但基本程度应该是有。
资料结构的程度至少是在刷题的时候不会卡在"天啊这个是什么资料结构",
跟曾经在工作被要求刻了一个红黑树,虽然我现在忘了而且skip list太好用。
算法就刷题的时候不会无止境一直设条件,
会尝试用一些算法想法比如 divide and conquer or dp 来解题。
计组作业系统就是那些什么cpu pipeline 内存管理缓存设计都懂。
数据库则是公司用什么我就学什么。
机器学习的部分就是几乎现在大家喊得出名字的我都可以实作,
有要证明的模型我都可以证明,不过需要回忆准备一下哈哈因为模型太多没全记。
大致用书来表示一下我懂得大概范围好了。
https://www.deeplearningbook.org/
deep learning 的经典不解释。
http://www.cs.cmu.edu/~tom/mlbook.html
machine learning 也算经典但很老的一本了。
https://www.tenlong.com.tw/products/9787302275954
各种经典的机器学习模型的推导书,虽然这个作者几乎只是翻译论文,但翻的还满好的。
新技术太多我就不提了我都有在追。
以上大致描述一下我的程度,目前的结果是我近半年完全找不到工作XD
不管国内国外,丢履历都没回复,基本上连面试机会都没有。
搞得现在只能送foodpanda,
真的是能力不足阿...
希望这惨痛的经历能拯救还想再跳AI的人阿。
==================================================
发现太多人执著实作的部分,其实要求手刻的只有一家公司,虽然我也在那边做很久
除了那间公司其他的我也是用包啦,Tensorflow,cntk 之类的都会用。