目录:

1.机器学习的基本概念

2.三种类型的学习与基于术语

3.成功设计机器学习系统的基石

4.安装配置python工具

 

1.将数据转化为知识

机器学习擅长于从数据中挖掘知识,提高预测模型的性能。由于机器学习,我们享受着强大的垃圾电子邮件过滤器,方便的文本与语音识别软件,可靠的网络搜索引擎,挑战国际象棋玩家,安全高效的自动驾驶汽车。

 

2.三种类型的机器学习

机器学习分为三种:监督学习,非监督学习,强化学习。

 

3.使用监督学习对未来进行预测

监督学习就是从带标签的数据中学习模式,并对未来的没接触过的数据进行打标签(计算输出)。

例如垃圾邮件过滤器,机器学习算法可以从已知的数据中的模式,对新的邮件进行分类:正常邮件/垃圾邮件。由于最终的任务是对邮件进行分类,输出结果是离散值。这样的任务,称为分类任务。

另外一中监督学习任务输出为连续值,这种任务称为回归。

 

4.分类任务用于预测标签

分类问题的本质就是从已知数据中学习一种模式,根据这种模式对新的数据打标签。

之前提到的垃圾邮件分类的任务输出结果有两种:正常邮件、垃圾邮件。输出结果只有两种,我们称为二分类问题。

多分类的一个特例就是对26个英文字母进行学习,让一个新的手写字母输入到系统中,系统将以一定的概率对字母进行分类:指定字母是哪个字母。

以下是一种二分类的实例:

我们将15个圆圈的数据和15个X数据输入到系统中,他们均是由二维数据来描述的:x1与x2

我们的目的是寻找一个分界,将两种类型的数据划分出来。

 

5.回归任务预测连续值

我们输入变量和连续的输出,目的是学得模式,输入新的变量,可以正确预测输出。

假如,学习的时间与成绩呈线性关系,我们可以建立学习时间与成绩之间的模型,根据学习时间预测成绩。

以下是一个回归实例:

6.强化学习:通过环境的奖励函数不断修正自己

正如国际象棋引擎一样,通过环境与系统之间的反馈,不断的试错,从反馈中学习知识。

7.非监督学习:发现数据结构

不像监督学习与强化学习那样,存在指定的输出或者奖励方式,非监督学习可以自动发现数据中存在的结构,将数据中未知的模式发掘出啦。

 

8.使用聚类算法进行无监督分类

聚类算法可以自动发现数据之间的相似性,把相似的数据划分到一类中,把不相似的数据划分到不同的类别。它是一种不需要任何先验知识的算法。这种算法可以自动发掘数据之间的关系和结构,如图所示,根据x1和x2特征,将数据划分为三类:

9.使用降维算法进行数据压缩

原有的数据可能通过多个特征来描述,这会给计算机存储和处理带来威胁。降维算法可以降低数据的维度,去掉数据值的噪声干扰,损失一定的精度为代价,保留大部分相关信息,将数据压缩到较低的维度。

数据降维对于数据可视化也是有利的。将高维的数据降维可视化:

10.机器学习术语

 

上图是鸢尾花分类的数据集,每一行称为一个样本,每一列称为样本的特征。

我们将数据存储在矩阵中,每一个特征对应每一列。

鸢尾花数据集包含150条样本,每个样本4种特征,所以可以写成150*4的矩阵:

11. 构建机器学习系统的流程

 

12.数据预处理

我们需要对收集到的数据进行预处理,并不是随便收集来的数据都可以满足我们的需求。

往往我们需要的特征必须有利于输出,必须与输出有关系。其次,我们不需要冗余信息。有的时候还要求不同特征需要在相同尺度下进行处理。

所以数据预处理非常重要。数据压缩可以提高存储效率及处理效率。

我们还需要对数据集进行划分:训练集与测试集。

训练集用于生成模型,测试集用于验证评估模型。

 

13.训练和选择预测模型

 

我们需要尝试不同的算法,计算其准确度。选择最好的最简单的算法。

我们需要交叉验证的方法去估计模型的泛化能力,并且选择最优的超参数达到最优的性能。

 

14.模型估计与预测

 

通过确定了模型,喂进数据进行训练得到模型后,可以使用测试数据估计模型的泛化能力,得到最优的参数后,应用到新的数据中去。由于训练数据和新数据来源不同,所以在训练集上和实际数据上性能会有差异。

 

15.Python相关工具的安装

 

1.python下载(本书3.4.3)

下载地址:https://www.python.org

2.Anaconda

下载地址: http://continuum.io/downloads#py34

3.安装额外包

pip install somepackage 

conda install somepackage

4.更新安装包

pip install somepackage  --upgrade

conda update somepackage 

5.所需库

NumPy 1.9.1

SciPy 0.14.0

scikit-learn 0.15.2

matplotlib 1.4.0

pandas 0.15.2

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐