前言
就是记录学习的过程;
正文
术语
示例:
((色泽=青绿,根蒂=蜷缩,敲声=浊响),好瓜)
- 模型|学习器,从数据中学得的结果,将经验转化为模型
- 学习算法,在计算机上从数据中产生“模型”的算法
- 训练|学习,从数据中学得模型的过程
- 训练数据,训练过程中使用的数据
- 样本,一个事件或对象的描述
- 训练样本,就是参与训练的样本
- 训练集,训练样本组成的集合,例如{(𝔁₁,𝔂₁),(𝔁₂,𝔂₂),(𝔁𝓶,𝔂𝓶)}
- 属性|特征:反映时间或对象在某方面的表现或性质的事项,对应示例中的“色泽”、“根蒂”、“敲声”
- 属性值|特征值:属性或特征上的取值;对应示例中的“青绿”、“蜷缩”、浊响
- 真相|真实:潜在规律
- 假设,学得模型对应了关于数据的某种潜在的规律
- 标记,示例结果的信息;对应示例中的“好瓜”
- 样例,拥有标记信息的示例;如上面的示例
- 属性空间|样本空间|输入空间,属性组成的空间
- 标记空间,所有标记的集合
- 预测任务,希望通过训练集{(𝔁₁,𝔂₁),(𝔁₂,𝔂₂),…,(𝔁𝓶,𝔂𝓶)}进行学习,建立一个从输入空间𝛘到输出空间𝛶的映射𝑓:𝛘⟝⧽𝛶
- 分类,预测的是离散值,例如“好瓜”、“坏瓜”,此类学习任务称为“分类”
- 二分类,只涉及两个类别,通常称其中一个为“正类”,另一个为“反类”;通常令𝔂={-1,+1}或{0,1}
- 多分类,多余两个类别,|𝛶|>2
- 回归,预测的是连续值,例如西瓜的成熟度0.95、0.85、0.75…,𝔂=ℝ(实数集)
- 测试,学得模型后,使用其进行预测的过程
- 测试样本,被预测的样本,例如在学得𝑓后,对测试例𝔁,可得到其预测标记𝔂=𝑓(𝔁)
- 聚类,将训练集中的数据分成若干组
- 学习任务分类,监督学习和无监督学习
- 监督学习,训练数据包含标记信息,分类和回归是代表;如上面的示例
- 无监督学习,训练数据不包含标记信息,聚类是代表
- 泛化能力,学得模型适用于新样本的能力
- 归纳,从特殊到一般的“泛化”过程,即从具体的事实归结出一般性规律
- 演绎,从一般到特出的“特化”过程,即从基础原理推演出具体的情况
- 归纳偏好,机器学习算法在学习过程中对某种类型假设的偏好
- 错误率,分类错误的样本数占样本总数的比例
- 精度,1-错误率
- 误差,把模型的实际预测输出与样本的真实输出之间的差异
- 训练误差|经验误差,模型在训练上的误差
- 泛化误差,在新样本上的误差
- 过拟合,当模型把训练样本学得太好了的时候,很可能已经把训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降
- 欠拟合,指对训练样本的一般性质尚未学好
- 斜率,高度增加量 / 水平增加量
评估方法
- 留出法,直接将数据集𝐷划分为两个互斥的集合,其中一个集合作为训练集𝑆,另一个作为测试集𝑇,即𝐷=𝑆∪𝑇,𝑆∩𝑇=∅
- 交叉验证法,将数据集𝐷划分为𝑘个大小相似的互斥子集,即𝐷=𝐷₁∪𝐷₂∪…∪𝐷κ,𝐷ᵢ∩𝐷𝑗=∅,每个子集尽可能保持数据分布的一致性
- 留一法,特殊的交叉验证法,即假定数据集𝐷包含𝑚个样本,令𝑘=𝑚
- 自助法,假定包含𝑚个样本的数据集𝐷,对它进行采样产生数据集𝐷`:每次随机你从𝐷中挑选一个样本,将其拷贝到𝐷`,然后再将该样本放回初始数据集𝐷中,使得该样本在下次采样时仍有可能被采到;这个过程重复𝑚次后,就得到了包含𝑚个样本的数据集𝐷`,初始数量不足时推荐使用
查准率、查全率
- 查准率,判断正确的概率,例如搜索领域中,检索出的信息中有多少比例是用户感兴趣的,P=TP / (TP+FP)
- 查全率,例如搜索领域中,用户感兴趣的信息中与多少被检索出来了,R=TP / (TP+FN)
真实情况 | 预测结果 | 预测结果 |
---|---|---|
正例 | 反例 | |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
一般查准率高时,查全率往往偏低;查全率高时,查准率往往偏低
ROC、AUC
导数
函数值增加量 / 变量增加量,导数对应的计算公式如下:
定义 | 形式 | 计算公式 |
---|---|---|
常数导数 | s = C | ds / dt = 0 |
线性函数导数 | s = at | ds / dt = a |
多次函数导数 | s = tⁿ | ds / dt = ntⁿ⁻¹ |
指数函数导数 | s = eᵗ | ds / dt = eᵗ |
对数函数导数 | s = lnt | ds / dt = 1 / t |
函数相加
计算公式
s(t) = v(t) + u(t)
ds / dt = dv / dt + du / dt
举例
s = 2t + 1
v=2t u = 1
2t导数为2,1导数为0
ds / dt = 2 + 0 = 2
函数相乘
计算公式
s(t) = v(t) * u(t)
ds / dt = dv / dt * u(t) + du / dt * v(t)
举例
s = 2t * eᵗ
v = 2t u = eᵗ
2t导数为2,eᵗ导数为eᵗ
ds / dt = 2 * eᵗ + 2t * eᵗ
链式法则
计算公式
s(t) = s(v(t))
ds / dt = ds / dv * dv / dt
举例
s = 1 / 2(2t-1)²
v = 2t - 1
s = 1 / 2 * v²
ds / dt = 2v = 4t-2
损失函数
举例
y = wx + b
l = (wx + b - y)²
偏导数和梯度下降
通过学习步长和导数值让函数值逐步下降
偏导数
𝟃𝑟 / 𝟃𝑡 = 函数值增加量 / 变量值增加量
r = s - 2t
𝟃𝑟 / 𝟃𝑡 = -2 𝟃𝑟 / 𝟃𝑠 = 1
t𝓃𝒆𝒙𝘵 = t - a * 𝟃𝑟 / 𝟃𝑡
s𝓃𝒆𝒙𝘵 = s - a * 𝟃𝑟 / 𝟃𝑠
a : 学习步长
𝟃𝑟 / 𝟃𝑡 :变量t的偏导数
𝟃𝑟 / 𝟃𝑠 :变量s的偏导数
梯度下降
梯度下降法:沿着梯度的反方向下降的方法