关于新手入门机器学习之路的几点心得

文章目录

  • 先行知识准备
  • 人工智能、机器学习与深度学习的区别
  • 机器学习、深度学习与神经网络
  • 入门之路

写在前面:因为学业和其他原因,需要从事人工智能机器学习相关研究和工作。但是我在之前从未接触过机器学习相关知识,甚至分不清人工智能、机器学习、深度学习、神经网络这些名词的含义和区别,更别说入门学习了。而我也查了知乎、Google等等文章和经验,也向学长学姐取过经,但始终没有得到明确的方向和头绪。而我花了3个月的时间才初步入门,现在我想将之前的摸索过程记录下来。后面我也会按照这里面的顺序更新知识。

先行知识准备

入门机器学习,你需要具备数学和计算机基础知识。
数学:高等数学、线性代数、数理统计与概率论
计算机:你所要使用的编程语言(python/c++等)、基础编程能力、或许会用到Linux(如果你在Linux环境下编程,你需要用到Linux命令)、计算机基础知识。
高等数学:机器学习对于高等数学的知识要求并不高深,大学教材同济六版上的知识学会足够。
线性代数:这个要求可能比对高数的要求还要低,明白基础的线性代数知识和矩阵操作就可以。
概率统计:从某种方面来讲机器学习就是建立在概率统计上面的,我们需要依据概率去计算、建模、判断等。

人工智能、机器学习与深度学习的区别

人工智能,顾名思义就是人造智能,但从某种意义上来说仍然是编程,只不过更加自动化,并非像某些媒体口中吹上天的那般神奇,所以人工智能颠覆、统治人类世界之类的无稽之谈更是杞人忧天。人工智能是我们使用计算机作为工具创造出更加自动化、智能化的产品来更好的满足我们人类多样化的需求。而机器学习就是我们实现人工智能的一种方法,深度学习则是机器学习中一种比较流行的学习方法。
关于新手入门机器学习之路的几点心得_第1张图片

机器学习、深度学习与神经网络

机器学习现在比较通用的分类是监督学习、半监督学习和无监督学习,随着发展可能还会有弱监督学习等等。所谓监督,简单的来讲就是我们是否事先人为设定结果判定标准。例如,现在有一组猫的数据,可能包括身长、高度、毛色、花纹等等,我们把这组数据定义为x。然后我们把猫设定为y,接着将其组成一个元组(x,y)输入进去,系统会分析处理数据x后得出结果y*,再与y进行比较,看与y是否相同。而我们称(x,y)为标记数据。无监督学习是我们不事先规定如何进行判定,而让算法根据数据特征自动分类,所使用的数据是未标记数据。半监督学习是监督学习和无监督学习结合的一种学习。
神经网络是仿照人脑神经元传递信息的方式所设计出来的一种学习。神经网络早在上个世界五十年代就已经出现,但是当时神经网络只能解决线性问题,而且学习过程涉及大量参数,参数设置缺乏理论指导。二十一世纪初,掀起了以“深度学习”为名的热潮,所谓深度学习,狭义地说就是“很多层”的神经网络。在语音、图像等复杂对象的应用中,深度学习技术取得了优异的性能。

入门之路

以下是我自己的学习过程,仅供参考:
吴恩达的机器学习——>机器学习实战——>西瓜书——>吴恩达的深度学习——>pytorch代码实战\莫烦pytorch视频——>花书——>cv领域经典算法学习

以上过程是先后关系但是并非全部学习完才到下一个。刚接触机器学习不建议直接上手西瓜书,虽然西瓜书也是入门书籍,但是西瓜书上涉及大量公式推导,若是不熟悉很容易陷进大量繁冗的细节里从而遗忘之前所看到的内容。而最后一步因为我是做机器视觉相关的,所以便开始专业相关的学习。
pytorch代码实战:https://github.com/yunjey/pytorch-tutorial

写在最后:后面我将按照西瓜书的章节目录更新学习笔记。

你可能感兴趣的:(机器学习)