机器学习(第一章节)
一. 基本概念和术语
什么叫做机器学习呢
比如说当我们去菜场里面去买西瓜,那么怎么去挑选一个好的西瓜呢?我们可以去根据西瓜的色泽、根蒂,以及敲击声音,或者更多特征去判断。再比如说我们去考试,怎么考出一个好成绩呢,需要有对应的学习计划和方案,采取行动之后自然会取得好成绩。总而言之,对于一些事物,我们积累了一定的经验,那么通过对经验的利用,就可以做出有效的预判,甚至对于新的情况也能做出相对应的决策
以上是我们在生活中的一个应用。那么机器学习,就是利用计算机去帮助我们去解决以上的这些情况。在计算机系统中,所谓的经验就是数据,因此机器学习所要研究的内容,是关于在计算机上从数据中产生“模型”的算法,这个算法叫做“学习算法”,有了这个学习算法,我们把经验数据提供给他,他就能基于这些数据产生一个模型,那么在遇到一个新的情况的时候,模型就会给我们提供相应的判断。(比如说我把挑选好瓜的经验数据都提供给了程序,程序生成了一个模型,随后我给他一个新的西瓜,模型会根据之前所训练好的数据去判断这个瓜是好还是坏)
基本术语
那么这个数据怎么去写嘞?
比如说我们收集了一些关于西瓜的数据
好的,我们可以以一个简单的西瓜数据集为例。假设我们收集了一些关于西瓜的特征和它们的好坏的标签。以下是一个简单的西瓜数据集示例:
表一
色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 好瓜 |
---|---|---|---|---|---|---|
青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 是 |
乌黑 | 稍蜷 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 是 |
乌黑 | 蜷缩 | 浊响 | 稍糊 | 稍凹 | 软粘 | 是 |
青绿 | 稍蜷 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 是 |
浅白 | 蜷缩 | 清脆 | 清晰 | 平坦 | 软粘 | 否 |
乌黑 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 软粘 | 否 |
青绿 | 蜷缩 | 浊响 | 稍糊 | 稍凹 | 软粘 | 否 |
浅白 | 蜷缩 | 沉闷 | 清晰 | 稍凹 | 硬滑 | 否 |
这个数据集包含以下特征:
- 色泽:西瓜的颜色,可以是青绿、乌黑或浅白。
- 根蒂:西瓜的根部状态,可以是蜷缩、稍蜷或稍蜷。
- 敲声:敲击西瓜时的声音,可以是浊响、沉闷或清脆。
- 纹理:西瓜表皮的纹理,可以是清晰或稍糊。
- 脐部:西瓜的脐部状态,可以是凹陷、稍凹或平坦。
- 触感:西瓜的触感,可以是硬滑或软粘。
- 好瓜:这是一个标签,表示西瓜是否是好瓜,可以是“是”或“否”。
这几组记录的集合就叫做数据集,每一条记录都是关于一个事件的描述,称为一个“样本(sample)”,色泽,根蒂,敲声,这些称为属性(attibute)或者特征(feature);属性的取值,比如说色泽有青绿,乌黑这些值,统称为属性值(attibute value),属性张成的这个空间叫做样本空间(sample space)。 我们可以把这些性质放在一个坐标系里面,那么每个西瓜都能在这个坐标系中找到自己的坐标位置,每个坐标位置都是一个坐标向量,因此这个这个坐标向量就叫做“特征向量(feature vector)”
那么什么是维数呢?
一般地,令 D = { x 1 , x 2 , x 3 , . . . x m } D=\{ x_{1},x_{2},x_{3},...x_{m}\} D={x1,x2,x3,...xm} ,这个就表示包含 m m m个示例的数据集,每个示例由 d d d个属性描述,则每个示例可以写成 x i = ( x i 1 , x i 2 , x i 3 , . . . . x i d ) x_{i}=(x_{i1},x_{i2},x_{i3},....x_{id}) xi=(xi1,xi2,xi3,....xid) 是d维样本空间X中的一个向量, x i ∈ X x_{i} \in X xi∈X , 其中 x i j x_{ij} xij 是 x i x_{i} xi 在第 j j j个属性上面的取值, d d d称为样本 x i x_{i} xi的维数(dimensionality)。 比如说在表一中总共有8个示例的数据,每个示例有6个属性的描述,那么6就是每个示例的维度。 x 12 x_{12} x12就表示第一个示例的第一个属性,也就是青绿。
从数据中学得模型的过程称为“学习”和“训练”,这个过程通过执行某个学习算法(后期会讲)来完成, 训练过程中使用的数据称为“训练数据”,其中每个样本称为“训练样本”,训练样本组成的集合为训练集。
当我们希望能够预测一个新的事件的时候,我们需要获得训练样本的结果信息,就如说
色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 好瓜 |
---|---|---|---|---|---|---|
青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 是 |
这个“好瓜”我们称为“标签”(label)。拥有了标签信息的示例,则称为“样本”(sample)。
我们用
(
x
i
,
y
i
)
(x_{i},y{i})
(xi,yi)表示第
i
i
i个样例,其中
y
i
∈
Y
y_{i}\in Y
yi∈Y 是示例
x
i
x_{i}
xi的标签,
Y
Y
Y是所有标签的集合,也成为“输出空间”或者“标签空间”(label space)。
分类和回归
如果我们我们预测的是离散值,比如说好瓜和坏瓜,那么这类学习任务就叫做“分类(classification)”,如果预测的是连续值,例如西瓜的成熟度为0.98,0.37,那么此类学习任务称为回归。(感觉跟定量分析和定性分析的区别差不多)。对只涉及两个类别的“二分类”任务,通常一个叫做“正类”一个叫做“反类”;涉及到多个类别的时候,则称为“多分类”任务。一般地,预测任务是希望通过对训练集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } \{(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m})\} {(x1,y1),(x2,y2),...,(xm,ym)} 进行学习,建立一个从输入输入空间 X X X到输出空间 Y Y Y的映射。 对二分类任务,通常令 Y = { − 1 , + 1 } Y=\{-1,+1\} Y={−1,+1}或 { 0 , 1 } \{0,1\} {0,1},对多分类任务, ∣ Y ∣ > 2 |Y|>2 ∣Y∣>2 ;对于回归任务, Y = R Y= \mathbb{R} Y=R
对于上文的具体解释:
具体解释
输入空间
X
X
X 到输出空间
Y
Y
Y 的映射:
目标是通过学习一个映射函数
f
:
X
→
Y
f: X \to Y
f:X→Y,使得对于新的输入数据
x
x
x,模型
f
(
x
)
f(x)
f(x)能够输出对应的预测值
y
y
y。
二分类任务:
通常令
Y
=
−
1
,
+
1
Y = {-1, +1}
Y=−1,+1或
Y
=
0
,
1
Y = {0, 1}
Y=0,1。例如在预测一个西瓜是否是好瓜的任务中,“好瓜”可以表示为1或+1,“坏瓜”可以表示为0或-1。
输入数据
x
x
x可以是描述西瓜特征的向量,例如颜色、敲击声等。
多分类任务:
当类别数量大于2时,称为多分类任务。
∣
Y
∣
>
2
|Y| > 2
∣Y∣>2表示输出空间包含多个类别。例如,水果分类任务可能有三个类别:苹果、橙子和香蕉。
回归任务:
输出空间 Y Y Y是实数集,即 Y = R Y = \mathbb{R} Y=R。例如预测西瓜的成熟度,这个值可以是任何实数,如0.98或0.37。