机器学习基础知识

1. 什么是机器学习

 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。
 机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
举个简单的例子:
天气预测:(以下数据只为说明例子,无科学依据)

相对湿度 是否下雨
60%
65%
65%

 机器学习使用一定的算法对这些数据进行计算。
 例如这里:当湿度较高的时候那天就是下雨的。如果我想知道第二天是否下雨,我可以通过湿度去预测。

2. 机器学习分类

2.1 监督学习

 监督学习从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。
 简单地说就是给定一组数据,我们知道正确的输出结果应该是什么样子。最简单的就是真和假的学习。要么是真,要么是假。我们已经知道输出的结果只能是真或者假。

2.2 无监督学习

 无监督学习与监督学习相比,训练集没有人为标注的结果。
 无监督学习使用无历史标签的数据。系统不会被告知“正确答案”。不需要给数据打标签的基础上,做数据挖掘。无监督学习主要体现在聚类(clustering)上。

总之,有标签的就是有监督学习,反之无标签的就是无监督学习

2.3 半监督学习

 半监督学习介于监督学习与无监督学习之间。
 半监督学习和它的名字一样,同时用了有监督学习的方法和无监督的方法,更准确的说是同时用了标记好的数据和未标记的数据。

2.4 增强学习

 增强学习经常被用于机器人,游戏和导航。通过强化学习,该算法通过试验和错误发现行动产生的最大回报。

3. 机器学习开发工具

3.1 Anaconda:

image
 Anaconda是一个用于科学计算的Python发行版,提供了包管理与环境管理的功能,
可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

3.2 Jupyter Notebook:

image
 网页版开发编辑器.它是一个非常灵活的工具,有助于帮助我们构建很多可读的分析,
可以在里面保留代码,运行结果,图片,公式和绘制的图像。
方便我们分享给其他人查看我们的结果。
注意:直接安装anacanda,anacanda里面就已经包含了Jupyter Notebook组件。

4. 科学计算相关包

  • NumPy:科学计算工具包,提供强大的N维数组对象,成熟的函数库。
  • Matplotlib:提供了很多图表控件,方便进行数据可视化。
  • Pandas:提供了高性能的,简单易用的数据结构和数据分析工具。
  • Scikit-learn:机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具

作者: Jessy Hong