新手入门指南
发布于 4 个月前 作者 zmecust 478 次浏览 来自 分享

怎么入门机器学习,知乎大神们有很多说法,在这里我主要是分享一下个人的想法。

1. 硬件先行

花个 2w 块配个上档次的电脑先。哈哈,开个玩笑。但是,至少 i7 处理器级别的电脑是要的吧?我喜欢做事不想后路,甚至直接断掉自己的后路。记得去年身价就 2w 块钱,我一下子全用来配电脑了。我的电脑主要硬件配置如下:

CPU:AMD 锐龙 1800X; 内存:32G DDR4内存条; 显卡:2块索泰GTX1080;

2. 数学基础

上过大学的,学理工科的数学肯定就没问题了。主要就是大学上的三门数学课:微积分、线性代数、概率论。如果你读过研究生就更好了,我记得我们学校会有三门数学课选修:最优化、概率与数理统计、微分方程,都是很有用的课程。机器学习是一门交叉性学科,它会涉及到很多学科领域,我觉得其中数学重要性的占比至少为 50%。 可能你已经毕业多年,数学知识早已忘的干净,不要紧,下面我列举一些查漏补缺用的教程给大家,朝花夕拾。 机器学习的数学基础

3. 编程技能

如果是程序员出身玩 AI 的,编程应该不是大问题了。我个人选用 python 作为自己的编程语言。python 的入门教程,我推荐廖雪峰的 Python 教程。了解了语法,还需要掌握至少一门基于 python 语言的机器学习框架,这样可以大大节省开发时间,框架我选用的是 TensorFlow。框架的好处是,它已经帮你把一些优化算法的函数进行了封装,就如同黑盒一样,你只需要直接调用即可。但是框架并不是万能的,你必须要懂得那些优化算法的原理。

4.哲学与生物

生命是什么?什么是智能? 玩 AI 不可避免的会要去想这个问题。大家知道,熵是系统混乱程度的度量,不确定性越大,熵值也就越大。但是这种不确定性极大的阻碍了生命的发展与延续。如果世界是静止的,那么生命自然不朽。然而我们的世界无时无刻不是发生着变化,会从一个状态变化为另一个状态,并且伴随着状态的变化,环境熵值也越来越大,生物无从知道下一刻等待他们的是生存还是死亡。只有那些根据环境变化做出相应变化的生命才能躲避危险从而得以幸存。生命所做的就是减小局部环境的不可确定性来延续。生命利用智能来减小局部环境的不可确定性,依据环境变化做出相应改变。植物的应激反应就是一种初级智能。于是,智能可以被描述为拥有让局部环境熵减的能力。注意,这里仅仅指的是具有熵减的“能力”。因为孤立系统熵增具有不可逆性,真正实现局部熵减,需要耗费外界能量才行。举个简单的例子:“桌上的杯子掉在地上,碎了一地,此时局部环境熵增。我没杯子喝水了咋办?不急,咱是智慧生物,我们可以把碎杯子拼接起来。智慧或者说智能就是,拥有把杯子拼接起来的能力,杯子从碎屑变成了完好,此时局部环境熵减。具体实施需要耗费外界能量才能,整个大环境熵增。” 一言以蔽之:智能就是拥有让局部环境熵减的能力;越高级的智能,这种能力也就越是强大。

什么是人工智能? 试想这样一个场景:世界上的人从来没有见识过汽车,也不知道汽车撞过来有什么后果。这时汽车朝你撞过来,你也不躲避,然后你被撞死了。。。千千万万个你这样的人(是不是很傻???),都不躲避,全部撞死。。。那些有幸躲避了的,就活下来了。。。于是,世界上其他人学到了一招,汽车撞过来,赶紧闪。。。作为革命先驱的你,死得其所,因为你教会了大家智慧,让种族得以延续。 这个例子虽然夸张了点啊,但是,这是我们理解人工智能的关键。例如,有个机器人,刚开始很傻。因为它的视觉系统很弱鸡,一个乒乓球朝它飞过去,它也不会躲避,好在不是汽车朝它飞过去,否则它就拜拜了。于是我们开始教它学习,给它播放物体朝自身飞过来的一些视频,并把这个视频标记为true。再给它播放其他类型的视频,并把这些视频标记为false。并且告诉机器人,true代表死亡,false代表活着。如果为true,赶紧闪躲。至于闪躲的距离多大,是微微闪躲,还是以100码速度呢?没办法,机器人太傻,还是要教它学习。给它播放物体朝自身飞过来的一些视频,如果物体比较小,标记为闪躲距离为0.5米,如果物体较大,标记为闪躲距离为5米。播放了足够多的视频,机器人就学会了这一招了,下次乒乓球朝它飞过去,它就闪躲0.5米,汽车朝它飞过去,它就闪躲5米。随着你以后教它更加深入的学习,它就能精准的控制,不明物体朝它飞过来,它需要闪躲多少距离。。。这时,机器人通过学习就学会了初级得不能再初级的智能了,还是人类手把手教出来的,因此称为“人工智能”。

详细参考本社区序言

以上仅仅是哲学在人工智能领域的冰山一角,深度学习神经网络的出现与生物学科也是密不可分的。大家有兴趣可以自行查阅相关资料,后期有时间我再补充一点资料供大家参考。

机器学习

未完,待续。。。

回到顶部