分享机器学习的苦逼自学过程

吐槽以及经验分享。

距离上一次更新已经过去好久了,再不动动笔怕是都不会写文章了(虽然本来写的也不咋滴lll¬ω¬))。我也想趁这个机会,把过去的一段时间的学习经历做个总结。

A1:拖更的这段时间你干嘛去了?Python还学不学了?
Q1:前段时间我申请到了学校的一个创新项目,主要是基于Python爬虫+Scrapy的,这也是我之前一直在学习的方向。本来我是想争取看能不能在大二结束的暑期前把项目完成(打算暑假靠这个项目经验去申请一份实习),可我发现进度很慢,加上个人的时间安排上出现了很大的问题,感觉无法在预期时间内完成,最后不得不推迟到了暑假。做出这个决定实在是很难受——因为我真的不喜欢半途而废,但是原因出在自己身上,实在无奈,那段时间很低迷。在那之后,偶然的一个机会让我对机器学习产生了兴趣——于是我立即跳到了机器学习这个大坑里。。关于这个,我后面还会详细说。

A2:机器学习是什么?你是怎么学的?
Q2.1:我先通过一个例子介绍机器学习,让不了解的朋友对它有个简单的认识,然后再介绍我的学习过程。

说到机器学习,直到现在,我都是对它又爱又恨,这个我等会再解释。机器学习是什么呢?以我这段时间的理解,我对它的定义是:机器,自己学习…

《分享机器学习的苦逼自学过程》

咳咳正经些。打个比方,我们在穿着纸尿裤的年纪时候对于周围世界是很懵懂无知的,但是咱们的父母为了不让我们输在起跑线上会早早的开始帮助我们摆脱无知。有一次你老爸拿着一张画着猫的卡片让你辨认,结果你支支吾吾半天说成了老虎,那么你可能会因为没认对图片而被打屁股。虽然挨了打,但是这下你就记住了,猫和老虎不是一种东西,虽然猫和老虎都有胡须,但是猫一般比较小巧,也没有老虎的条纹,当你下次再被考验的时候你就能准确的认出哪个是猫,哪个是老虎了。请注意,我们之前提到的猫和老虎的区别在机器学习领域被称作特征。好的,既然人类小孩能够通过特征区别动物,那么我们能否让机器以类似的方式学习最终能够辨认动物呢?于是研究者就尝试把图片上的动物特征提取出来,然后根据特征建造一个模型,再输入大量的标记后的图片(让机器辨别后于已知的答案对比看看机器是不是能准确分辨)到模型用于优化/训练模型(机器模型的优化过程是不是有点类似人类大脑的发育发达的过程呢?关于大脑,后面还会介绍)。最后,研究者把训练好的机器(模型)再对图片做辨别测试,一个优秀的模型就可以准确的识别出动物了。

上面有关机器学习的概念我只是用自己的话讲述下,肯定有不准确之处,有兴趣的朋友可以自行搜索或是看看我之后分享的有关机器学习的笔记。

Q2.2:首先要说明的是,机器学习还可以细分为若干项其他学科(也就是实现机器智能的具体方式),我学习的就是近年来最流行的深度学习。还记得我在前面问题留下的那个关于大脑的伏笔吗?实际上,深度学习是科学家们通过抽象生物大脑的神经网络进而提出的机器学习实现方法。或者说,深度学习是机器学习的一种模型,这个模型不是别的,它是研究者从生物的神经网络中抽象得到的,为了让大家有个印象,还是贴个图吧。。

《分享机器学习的苦逼自学过程》 神经元模型

说到我怎么学的,我一开始先试图宏观的了解人工智能,机器学习以及深度学习这三者关系以及各自结构。当我摸清三者关系之后(人工智能>机器学习>深度学习),我又尝试了解深度学习的整体结构——然而我被一堆陌生概念给打懵了,决定马上开始。。最后我就选择了我的学习方向——深度学习。

我在各类平台上翻资料,最后找到了一个视频,开始跟着视频一点点学习。在学习之初会遇到环境搭建问题——我费了大把时间在双系统的安装上(主要我是Linux小白),然后的正式学习又会不时遇到数学概念(有些我已经遗忘),这时我就要翻看线性代数和概率论的知识,除此之外,我学习的课程是基于Python的,但是课程推荐的环境是Python2.7(我之前所学的是Python3.6,不过问题不大,主要的问题在于linux操作系统不熟悉)。学习的过程是苦逼的——你会遇到一个个陌生的概念(而老师却只会点到即止。。),如果你数学不好,那么苦逼度n,如果你还不会Python,那么苦逼度n^n。总之就是基础不好学习起来实在是难受。下面总结一下我遇到的一些坑,希望给想要学习的人一些参考:

  • 如果你没兴趣——别学了
  • 如果你有兴趣没时间——慎重考虑时间安排和自己学习能力
  • 如果你只会window,那么别听人家说linux好就也跟着折腾了,下载一个Anaconda可以让你的开始非常顺利(然而笔者没选)
  • 如果你没学过大学数学,建议你先学数学吧,因为在深度学习中,你起码得需要知道矩阵,导数吧???
  • 如果你没学过编程,建议你别跟着实践类课程学习(最好先去学下Python),因为哪怕是当一个调包侠也需要懂一种编程语言啊!
  • 如果你三天打鱼两天晒网——别学了,去做其他更有意义的事吧,人工智能需要集中你很多精力——还未必学会。

A3.你现在学到什么程度了,还在继续吗?
Q3.不好意思,我今天的这篇文章就是为弃坑(我一定会回来的!)而写的。前面说了,半途而废真的很不爽,但是我的这段时间学习经历告诉我,机器学习领域的准入门槛还是挺高的,你必须拥有比较扎实(这里实际上需要你拥有快速查阅学习的能力,忘记了某块知识其实并不是关键问题)的数学(包含概率论,线性代数,高数等)、编程(至少熟练掌握一门机器学习运用方面的语言,比如Python,Matlab等)硬实力以及英语、检索、自我驱动等软要求。我说的这些还只是入门要求,因为更后面的情况以我目前的能力还无法窥见。当然,如果你满足上述要求又对这个领域充满兴趣,那么你随时都可以出发。

弃坑不表示没收获啊!放几张图就当记(zhuang)录(bi)一下(高手勿喷!)

《分享机器学习的苦逼自学过程》 通过函数生成散点
《分享机器学习的苦逼自学过程》 拟合函数
《分享机器学习的苦逼自学过程》 通过正则化提高拟合函数的泛化性

A4.你还有什么话要说吗?
Q4.放完图心情好多了。。等等,还没完。很感谢能看我水到这里的朋友,作为感谢,笔者必须要给你点福利了——————我搜集了许多人工智能有关的技术资料(机器学习,深度学习,视频和ebook都有),需要的朋友留言一下,我把你需要的发给你。

最后还有点话说,暂时告别了深度学习(人工智能非常有趣,我恶补完基础就会回来的!),我打算重新专注于Python,并开始Scrapy的学习。之前有关深度学习的笔记,我会逐步放到专栏——估计是新的专栏。

自学不易,道阻且长。希望每一个自学者都能学有所获。

    原文作者:苦逼李
    原文地址: https://www.jianshu.com/p/8975dc08a02f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞