机器学习十天打卡计划-1
- 机器学习介绍
- 机器学习分类
- 机器学习方法三要素(模型、策略及方法)
机器学习介绍
概念
机器学习是一门多领域交叉学科,设计概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机如何模拟和实现人类行为,以获取新的知识和技能,重新组织已有的知识结构并使之不断改善自身技能,它是人工智能的核心,是使得计算机具有智能的根本途径。
发展
二十世纪八十年代,机器学习成为一门独立的学科
时间段 | 理论 |
---|---|
二十世纪五十年代 | 推理期,已出现相关研究 |
二十世纪五十年代中后期 | 开始出现基于神经网络的“连接主义” |
二十世纪六十年代 | 符号注意、决策理论、强化学习技术 |
二十世纪八十年代至九十年代中期 | 机械学习、示教学习、类比学习、归纳学习 |
二十世纪九十年代中期 | 统计学习 |
二十一世纪初至今 | 深度学习(Deep learning) |
机器学习分类
监督学习:利用已知类额的样本调整分类器的参数,使其达到所要求的性能
非监督学习:无须对数据集进行标记,即没有输出
半监督学习:监督学习和非监督学习的结合,其在训练阶段使用的是未标记的数据和已标记的数据
强化学习(reinforcement learning),又称增强学习,用于描述和解决智能体在与环境交互过程种通过学习策略达到回报最大化或实现特定目标的问题。
机器学习模型
机器学习 = 数据 + 模型 + 优化方法
常见算法
- Linear Algorithms
- decision tree
- svm
- Naive Bayes Algorithms
- kNN
- Clustering Algorithms
- K-means
- Random forest
- Dimensionality Reduction Algorithms
- Gradient Boosting algorithms
- Deep learning Algorithms
机器学习损失函数
- 0-1损失函数
- 绝对值损失函数
- 平方损失函数
- log对数损失函数
- 指数损失函数
- hinge损失函数
机器学习优化方法
- 梯度下降
- 随机梯度下降
- 小批量梯度下降
- 引入动量的梯度下降
- 自适应学习率的Adagrad算法
- 牛顿法
机器学习的评价指标
1、(全量)梯度下降
θ = θ − η ∇ θ J ( θ ) \theta = \theta - \eta\nabla_\theta J(\theta) θ=θ−η∇θJ(θ)
2、 随机梯度下降
θ = θ − η ∇ θ J ( θ ; x ( i ) , y ( i ) ) \theta = \theta - \eta\nabla_\theta J(\theta;x^{(i)},y^{(i)}) θ=θ−η∇θJ(θ;x(i),y(i))
3、小批量梯度下降
θ = θ − η ∇ θ J ( θ ; x ( i : i + n ) , y ( i : i + n ) ) \theta = \theta - \eta\nabla_\theta J(\theta;x^{(i:i+n)},y^{(i:i+n)}) θ=θ−η∇θJ(θ;x(i:i+n),y(i:i+n))
4、引入动量的梯度下降
{ v t = γ v t − 1 + η ∇ θ J ( θ ) t h e t a = θ − v t \begin{cases} v_t = \gamma v_{t-1} + \eta\nabla_\theta J(\theta) \\theta = \theta - v_t\end{cases} {vt=γvt−1+η∇θJ(θ)theta=θ−vt
5、自适应学习率的Adagrad算法
{ g t = ∇ θ J ( θ ) θ t + 1 = θ t , i − η G t + ε ⋅ g t \begin{cases}g_t = \nabla_\theta J(\theta)\ \theta_{t+1} = \theta_{t,i}-\frac{\eta}{\sqrt{G_t+\varepsilon}}\cdot g_t\end{cases} {gt=∇θJ(θ) θt+1=θt,i−Gt+εη⋅gt
机器学习的评价指标
1、MSE(均方误差)
M
S
E
(
y
,
f
(
x
)
)
=
1
N
∑
i
=
1
N
(
y
−
f
(
x
)
)
2
MSE(y, f(x)) = \frac{1}{N}\sum_{i=1}^{N}(y-f(x))^2
MSE(y,f(x))=N1i=1∑N(y−f(x))2
2、MAE(平均绝对误差)
M
S
E
(
y
,
f
(
x
)
)
=
1
N
∑
i
=
1
N
∣
y
−
f
(
x
)
∣
MSE(y, f(x)) = \frac{1}{N}\sum_{i=1}{N}|y-f(x)|
MSE(y,f(x))=N1i=1∑N∣y−f(x)∣
3、RMSE(均方根误差)
R
M
S
E
(
y
,
f
(
x
)
)
=
1
1
+
M
S
E
(
y
,
f
(
x
)
)
RMSE(y, f(x)) = \frac{1}{1+MSE(y, f(x))}
RMSE(y,f(x))=1+MSE(y,f(x))1
4、Top-K准确率
T
o
p
k
(
y
,
p
r
e
y
)
=
{
1
,
y
∈
p
r
e
y
;
0
,
y
∉
p
r
e
y
Top_k(y, pre_y) = \begin{cases} 1,{y \in pre_y} ;\ 0, {y \notin pre_y} \end{cases}
Topk(y,prey)={1,y∈prey; 0,y∈/prey
5、混淆矩阵
混淆矩阵 | predicted as positive | predicted as negative |
---|---|---|
结果阳性 | 真阳性TP | 假阴性FN |
结果阴性 | 假阳性 FP | 真阴性 TN |
精确率
P
=
T
P
T
P
+
F
P
P = \frac{TP}{TP+FP}
P=TP+FPTP
召回率
R
=
T
P
T
P
+
F
N
R = \frac{TP}{TP+FN}
R=TP+FNTP
ROC曲线:
曲线的横轴为假阳性率,纵轴为真阳性率,以FPR为横坐标,TPR为纵坐标,那么ROC曲线就是改变各种阈值之后得到的所有坐标点(FPR,TPR)的连线,画出一条曲线。
(Q:阈值是什么)
AUC是ROC曲线下的面积
AUC = 1:完美分类器
AUC < 1: 优于随即猜测
AUC > 1: 比随机猜测还差
机器学习模型选择
1、交叉验证
将所有数据分为三个部分:训练集、交叉验证集和测试集。
2、k-折叠交叉验证
将训练集分为k等分,每次从中选择k-1份进行训练,利用剩下的那一份进行测试并计算损失值,最后得到k次测试得到的损失值并选择损失值最小的模型
3、Bias和Varience,欠拟合和过拟合
欠拟合即对数据的表现能力不足,模型复杂度不够,Bias高,训练集的损失值高,测试集的损失值也高,通过增加模型复杂度、增加特征维度可以解决
过拟合表示模型对数据的表现能力过好,模型复杂度过高,Variance高,训练集的损失值低,测试集的损失值也高,通过增加训练样本,减少特征维数、较小模型复杂度可以解决。
机器学习参数调优
1、网格搜索
穷举搜索,循环遍历每一种可能性,表现最好的参数就是结果
2、随即搜索
从指定的分布中采样固定数量的参数设置,如果随机样本点集足够大,那么可以找到全局的最大值或者最小值
3、贝叶斯优化算法
给定优化的目标函数,通过不断增加样本点来更新目标函数的后验分布,直到后验分布基本贴合真实分布。