最近在研究机器学习,随手将学习的过程记录下来,方面自己的学习与回顾

1. 机器学习是什么?


机器学习(Machine Learning,ML)是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的一门科学技术。

它使用计算机技术,应用微积分、概率论、统计学、信息论、逼近论、凸分析、算法等多种不同的理论与学科,针对分析目标建立有针对性的数据模型,通过对过往历史数据的学习(分类、回归、聚类等),完成基本算法模型,并能通过后续持续的学习(数据输入),在将杂乱的数据转换(输出)成有用信息的同时,还能不断优化改造自身。


2. 机器学习能解决什么问题?


对于学习,人的学习过程,是通过观察(输入),根据过往经验对观察到的内容进行思考(处理),最后得出结论(输出)的过程。

而机器学习是计算机利用已有的数据(一般是海量数据),得出了某种模型(算法模型),并利用此模型预测未来的一种方法。

机器学习主要解决的问题可以归纳为:优化,预测,相关性。可以说,只要是涉及到优化,预测,个性化相关的问题,机器学习和深度学习都可以处理。

比如说,我们去买百香果吃,我们没有买百香果的经验,不知道那些是甜的那些是酸的,然后我们买了一大堆回来,有大的、小的、轻的、重的、红的、紫的、白的、黄的、果皮光滑的、干皱的...然后每一个都尝一便,最后发现,百香果原来有两大类,紫红和黄白两类,紫红类的,果皮越深(越紫越黑)的越甜,黄白类的越黄越甜,跟大小无关,跟果皮的光滑度无关,而同样大小,越重的果汁越多。黄白类的比紫红类的果子甜度更高一些。那么下次去买的时候,自然就懂得如何挑选了。

而机器学习跟买水果的过程类似,通过建模(对水果甜度的判断)、设计策略(针对百香果不同的形状特性)和算法(品尝百香果,得出酸甜结论),然后输入大量数据(一大堆不同种类与特征的百香果)进行训练,最后学会判断的过程(知道什么类型的百香果比较甜)。模型建好后,就可以针对更多的数据进行测试并输出结果(下次去买水果直接挑选学习后的水果类型,可以直接根据特征判断酸甜度),而这些结果也将不断的修正模型(买回来后继续品尝,观察酸甜度,继续总结经验,调整判断方法),提升模型的准确率,更好的帮我们预测数据。

当前,机器学习广泛应用于搜索引擎、垃圾邮件处理、广告推荐、数据挖掘、图像识别、自然语言处理、生物特征识别、医学诊断、证券投资分析、DNA序列测序、语音和手写识别、机器人运用等诸多领域,且应用的领域越来越广泛。


3. 学习机器学习,需要具备什么能力?


入门学习机器学习,只需要掌握下面这些能力:

  • 了解一些数学基础常识
  • 掌握一门编程语言(最好是python)

对于入门来说,不一定要具备了所有的数学理论基础才能开始,不具备这些知识并不代表不能灵活操作各个机器学习库,只是有些算法的理解会更困难。这些基础理论在后续需要慢慢补上,它们关系到你在AI领域天花板的高度。而直接从实践入手,会更容易理解算法,对后续算法的深入学习也有很大的帮助。

而想进阶成为专家,除了需要加强数学基础理论(高数、线性代数、统计学、概率论、信息论等数学基础)的学习外,还需要学习大数据相关的知识与技能(如:Hadoop、HBase、Spark、kafka、Flume、Sqoop、Storm等)。然后根据发展方向,有针对性的学习NLP、神经网络等内容,往更多更专业的领域深入学习。


4. 怎么学?

学习机器学习,需要分阶段循序渐进学习,尽量不要一下子就深入算法的推导中(除非你的数学理论非常扎实),不要试图掌握所有的相关数学知识再开始学习,否则很容易从入门到崩溃,从崩溃到放弃。

对于初学者,建议从这几方面来学习:

  1. 首先了解什么是机器学习,以及机器学习的相关理论常识,对机器学习有个总体的了解与认识。
  2. 知道有哪些学习资源,了解这些资源哪些适合初学者。
  3. 大体了解机器学习的技术栈,了解涉及哪些知识体系,然后与自己的技术体系进行比较,了解学习方向,并做好长期学习的计划与心态。
  4. 然后花些时间,了解机器学习的常用专业术语,大概了解这些专业名词的意思,方便后续学习时更容易理解学习内容(不需要全部了解,只需要大体知道是什么就行了,在学习机器学习的过程中会不断的加深学习与理解)。
  5. 接着直接进入学习,可以学习《机器学习实战》这本书,也可以学习ApacheCN分享出来的文本或视频教程,学习各种机器学习算法,先实践再到理论。
  6. 入门后再根据所要用到的基础理论或机器学习相关算法和知识点,再针对性的学习,逐步提高。