ML_learning01:ML review

本文介绍了机器学习的基础知识,包括发展、分类、模型、损失函数、优化方法、评价指标、模型选择和参数调优。涉及的主要算法有监督学习、非监督学习、半监督学习、强化学习,以及线性算法、决策树、支持向量机、朴素贝叶斯、k近邻、聚类和深度学习。还探讨了常见的损失函数如平方损失和0-1损失,优化方法如梯度下降,以及模型评估的准确率、精确率、召回率和F1分数。最后提到了交叉验证、欠拟合和过拟合的概念以及参数调优策略。
摘要由CSDN通过智能技术生成

机器学习发展

在这里插入图片描述

机器学习分类

  • 监督学习
    训练数据有标记信息;
    主要代表:分类和回归
    过程:利用样本的已知标记,在迭代训练过程中不断提供对错指示,从而调整模型的参数,使模型学 习到训练集的某种特征;
    学习结果:模型对应的函数

  • 非监督学习
    训练数据无标记信息;
    主要代表:聚类
    过程:通过对无标记训练样本的学习来揭示数据的内在性质及规律,学习出标记
    学习结果:类别(标记)

  • 半监督学习
    训练数据包含:已标记的样本和未标记的样本
    数据源分布:假定未标记的样本和已标记的样本服从同样的独立同分布
    过程:结合样本的分布,对未标记的样本聚类出标记,再结合所有的有标记样本训练出模型
    学习结果:标记和模型都有

  • 强化学习
    两大对象:机器和环境;
    操作:机器选择要执行的动作来影响环境;机器通过观察转移后的状态和返回的奖赏感知环境;
    目标:机器找到能长期积累奖赏最大化的策略

机器学习模型

机器学习 = data + model + optimal strategy

常见的机器学习算法:

  • 线性算法
    线性回归/logistic回归/Lasso/Ridge
  • 决策树(decision tree)
    ID3/C4.5/CART
  • 支持向量机
  • 朴素贝叶斯(Naive Bayes Algorithms)
    朴素贝叶斯/高斯朴素贝叶斯/多项式朴素贝叶斯/贝叶斯信仰网络(BBN)/贝叶斯网络(BN)
  • k近邻算法(KNN)
  • 聚类(clustering)
    k均值/k-中位数/期望最大化(EM)/层次聚类
  • k均值(k-means)
  • 随机森林
  • 降维(Dimensionality Reduction)
  • 梯度提升算法(Gradient Boosting)
    GBM/XGBoost/LightGBM/CatBoost
  • 深度学习
    卷积神经网络(CNN)/递归神经网络(RNN)/长短期记忆网络(LSTM)/堆叠式自动编码器
    深玻尔兹曼机(DBM)/深度信仰网络(DBN)

机器学习loss

用于计算模型预测值与真实的标记值之间的差异
0-1损失函数 L ( y , f ( x ) ) = { 0 , y = f(x);  1 , y  ≠  f(x) L(y,f(x)) = \begin{cases} 0, & \text{y = f(x);} \ 1, & \text{y $\neq$ f(x)} \end{cases} L(y,f(x))={0,y = f(x); 1,= f(x)
绝对值损失函数 L ( y , f ( x ) ) = ∣ y − f ( x ) ∣ L(y,f(x))=|y-f(x)| L(y,f(x))=yf(x)
平方损失函数 L ( y , f ( x ) ) = ( y − f ( x ) ) 2 L(y,f(x))=(y-f(x))^2 L(y,f(x))=(yf(x))2
log对数损失函数 L ( y , f ( x ) ) = l o g ( 1 + e − y f ( x ) ) L(y,f(x))=log(1+e^{-yf(x)}) L(y,f(x))=log(1+eyf(x))
指数损失函数 L ( y , f ( x ) ) = e x p ( − y f ( x ) ) L(y,f(x))=exp(-yf(x)) L(y,f(x))=exp(yf(x))
Hinge损失函数 L ( w , b ) = m a x ( 0 , 1 − y f ( x ) ) L(w,b)=max{(0,1-yf(x))} L(w,b)=max(0,1yf(x))
损失函数详解

机器学习优化方法

梯度下降是最常用的优化方法之一,它使用梯度的反方向 ∇ θ J ( θ ) \nabla_\theta J(\theta) θJ(θ)更新参数 θ \theta θ,使得目标函数 J ( θ ) J(\theta) J(θ)达到最小化的一种优化方法,这种方法我们叫做梯度更新.

(全量)梯度下降 θ = θ − η ∇ θ J ( θ ) \theta=\theta-\eta\nabla_\theta J(\theta) θ=θηθJ(θ)
随机梯度下降 θ = θ − η ∇ θ J ( θ ; x ( i ) , y ( i ) ) \theta=\theta-\eta\nabla_\theta J(\theta;x^{(i)},y^{(i)}) θ=θηθJ(θ;x(i),y(i))
小批量梯度下降 θ = θ − η ∇ θ 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))
引入动量的梯度下降 { v t = γ v t − 1 + η ∇ θ J ( θ )   θ = θ − v t \begin{cases} v_t=\gamma v_{t-1}+\eta \nabla_\theta J(\theta) \ \theta=\theta-v_t \end{cases} {vt=γvt1+ηθJ(θ) θ=θvt
自适应学习率的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,iGt+ε ηgt
牛顿法 θ t + 1 = θ t − H − 1 ∇ θ J ( θ t ) \theta_{t+1}=\theta_t-H^{-1}\nabla_\theta J(\theta_t) θt+1=θtH1θJ(θt) 其中: t t t: 迭代的轮数
η \eta η: 学习率

G t G_t Gt: 前t次迭代的梯度和

ε : \varepsilon: ε:很小的数,防止除0错误

H H H: 损失函数相当于 θ \theta θ的Hession矩阵在 θ t \theta_t θt处的估计

机器学习评价指标

SE(Mean Squared Error) 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=1N(yf(x))2
MAE(Mean Absolute Error) 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=1Nyf(x)
RMSE(Root Mean Squard Error) 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
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,yprey 0,y/prey
混淆矩阵??
混淆矩阵 Predicted as Positive Predicted as Negative
Labeled as Positive True Positive(TP) False Negative(FN)
Labeled as Negative False Positive(FP) True Negative(TN)
真正例(True Positive, TP):真实类别为正例, 预测类别为正例

假负例(False Negative, FN): 真实类别为正例, 预测类别为负例

假正例(False Positive, FP): 真实类别为负例, 预测类别为正例

真负例(True Negative, TN): 真实类别为负例, 预测类别为负例

真正率(True Positive Rate, TPR): 被预测为正的正样本数 / 正样本实际数 T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP

假负率(False Negative Rate, FNR): 被预测为负的正样本数/正样本实际数 F N R = F N T P + F N FNR=\frac{FN}{TP+FN} FNR=TP+FNFN

假正率(False Positive Rate, FPR): 被预测为正的负样本数/负样本实际数, F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

真负率(True Negative Rate, TNR): 被预测为负的负样本数/负样本实际数, T N R = T N F P + T N TNR=\frac{TN}{FP+TN} TNR=FP+TNTN

准确率(Accuracy) A C C = T P + T N T P + F N + F P + T N ACC=\frac{TP+TN}{TP+FN+FP+TN} ACC=TP+FN+FP+TNTP+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

F1-Score 2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1

ROC

ROC曲线的横轴为“假正例率”,纵轴为“真正例率”. 以FPR为横坐标,TPR为纵坐标,那么ROC曲线就是改变各种阈值后得到的所有坐标点 (FPR,TPR) 的连线,画出来如下。红线是随机乱猜情况下的ROC,曲线越靠左上角,分类器越佳.

AUC(Area Under Curve)
AUC就是ROC曲线下的面积. 真实情况下,由于数据是一个一个的,阈值被离散化,呈现的曲线便是锯齿状的,当然数据越多,阈值分的越细,”曲线”越光滑.
用AUC判断分类器(预测模型)优劣的标准:

AUC = 1 是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器.
0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值.
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测.

机器学习模型选择

交叉验证
所有数据分为三部分:训练集、交叉验证集和测试集。交叉验证集不仅在选择模型时有用,在超参数选择、正则项参数 [公式] 和评价模型中也很有用。

k-折叠交叉验证
假设训练集为S ,将训练集等分为k份: S 1 , S 2 , . . . , S k {S_1, S_2, ..., S_k} S1,S2,...,Sk.
然后每次从集合中拿出k-1份进行训练
利用集合中剩下的那一份来进行测试并计算损失值
最后得到k次测试得到的损失值,并选择平均损失值最小的模型

Bias与Variance,欠拟合与过拟合
欠拟合一般表示模型对数据的表现能力不足,通常是模型的复杂度不够,并且Bias高,训练集的损失值高,测试集的损失值也高.
过拟合一般表示模型对数据的表现能力过好,通常是模型的复杂度过高,并且Variance高,训练集的损失值低,测试集的损失值高.

解决方法
增加训练样本: 解决高Variance情况
减少特征维数: 解决高Variance情况
增加特征维数: 解决高Bias情况
增加模型复杂度: 解决高Bias情况
减小模型复杂度: 解决高Variance情况

机器学习参数调优

网格搜索
一种调参手段;穷举搜索:在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果

随机搜索
与网格搜索相比,随机搜索并未尝试所有参数值,而是从指定的分布中采样固定数量的参数设置。它的理论依据是,如果随即样本点集足够大,那么也可以找到全局的最大或最小值,或它们的近似值。通过对搜索范围的随机取样,随机搜索一般会比网格搜索要快一些。

贝叶斯优化算法
贝叶斯优化用于机器学习调参由J. Snoek(2012)提出,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布。简单的说,就是考虑了上一次参数的信息,从而更好的调整当前的参数。

做一个总览,后续继续学习再回头来看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值