机器学习的定义
Machine learning,a branch of artificial intelligence,is about the construction and study of systems that can learn from data .(from Wikipedia)
机器学习算法的一般应用框架
- 定义需要实现的功能
- 采集足够多的样本: T = { x i , y i } l N T=\{x_i,y_i\}^N_l T={xi,yi}lN,其中 x i x_i xi是模型的输入, y i y_i yi是模型的预期输出, N N N代表样本的数量, l l l代表样本的标签
- 利用训练样本 T = { x i , y i } l N T=\{x_i,y_i\}^N_l T={xi,yi}lN通过迭代训练,得到模型 y = f ( x , Θ ) y=f(x,\Theta) y=f(x,Θ)
- 如果标签 y i ∈ { − 1 , + 1 } y_i\in \{-1,+1 \} yi∈{−1,+1}是离散的,这就是一个分类问题;如果 y i y_i yi是连续的,这就是一个回归问题
三种常见的模型与比较
模型是什么
模型是用来描述某个特定现象或者事务的
模型的种类
- 归纳模型
- 由一个数学公式构成,公式中的每个变量都具有明确物理意义,能够真正描述目标系统的规律
- 例如牛顿万有引力公式
- 预测模型
- 往往是由一个万能函数构成,由许多参数组成,每个参数一般不具备任何物理意义。一般只能模拟或预测目标系统的输出
- 直推模型
- 没有明确的模型或者函数,但可以计算出模型特定点的值
三种模型的比较
归纳模型 | 预测模型 | 直推模型 | |
---|---|---|---|
目标 | 发现事务的真正规律 | 发现预测规则 | 评估位置预测函数在某些点的值 |
复杂度 | 比较困难 | 相对容易 | 最容易 |
适用性 | 少数变量就能描述的简单世界 | 需多个变量描述的复杂世界 | 需多个变量描述的复杂世界 |
计算成本 | 低 | 高 | 最高 |
泛化能力 | 低 | 高 | 最高 |
机器学习算法的分类
非监督学习与监督学习
- 非监督学习:不需要训练样本的机器学习算法,如数据聚类算法
- 监督学习:需要训练样本 T = { x i , y i } l N T=\{x_i,y_i\}^N_l T={xi,yi}lN的机器学习算法,如大多数分类、回归算法
生成模型与判别模型
- 生成模型计算数据 x x x与标签 y y y的联合概率 P ( x , y ) P(x,y) P(x,y),用下列公示计算分类概率: P ( y ∣ x ) = P ( x , y ) p ( x ) P(y|x)=\frac {P(x,y)}{p(x)} P(y∣x)=p(x)P(x,y)
- 判别模型直接计算分类概率 P ( y ∣ x ) P(y|x) P(y∣x)
- 判别模型相对于生成模型相对简单一点
简单数据模型与复杂数据模型
- 简单数据模型:被用来处理相互独立的简单数据
- 复杂数据模型:被用来处理具有时空关联性的复杂数据
学习一个新算法入手的三个方面
Structural model
:我们选择哪一类函数 f ( x , Θ ) f(x,\Theta) f(x,Θ)来建立模型Error model
:我们选择哪一类损失函数(loss function
) L ( y , f ( x , Θ ) ) L(y,f(x,\Theta)) L(y,f(x,Θ))来做训练?- 损失函数相当于为模型的选择指定考核标准
Optimization procedure
:我们选择哪一种数值计算方法来获取最优模型 f ∗ ( x , Θ ) f^*(x,\Theta) f∗(x,Θ)