期末复习【机器学习】
前言
以下内容源自课堂PPT及博客
仅供学习交流使用
请您阅读文章声明,默认同意该声明
导航
配置环境miniconda+pycharm【机器学习】
实验1 贝叶斯分类【机器学习】
实验2 神经网络实现分类【机器学习】
实验3 手写字体识别【机器学习】
实验4 卷积神经网络【机器学习】
推荐
【一起啃西瓜书】机器学习-期末复习(不挂科)
机器学习【期末复习总结】——知识点和算法例题(详细整理)
机器学习期末考试
期末复习
1 ML:概述
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,从而在计算机上从数据(经验)中产生“模型”,用于对新的情况给出判断(利用此模型预测未来的一种方法)。
一般流程
基本术语
- 数据集:一组样本的集合,这组记录的集合。
- 样本/示例:数据的特定实例,每条记录是关于一个事件或对象(这里是一个西瓜)的描述
- 特征/属性:反映事件或对象在某方面的表现或性质的事项
- 属性空间/样本空间/输入空间:属性张成的空间
- 维数:每个示例由d 个属性描述,d称为样本的"维数"。
- 训练数据:.训练过程中使用的数据称为"训练数据" (从数据中学得模型的过程称为"学习" 或"训练")
- 训练样本:每个样本称为一个训练样本"
- 训练集:训练样本组成的集合称为"训练集"
- 标记:关于示例结果的信息,例如"好瓜"。
- 样例:拥有了标记信息的示例
- 真相(ground-truth):数据的潜在的某种规律
- 假设(hypothesis):学得模型对应了关于数据的某种潜在规律
- 测试:学得模型后,使用其进行预测得过程
- 测试集:测试样本组成得集合
- 泛化能力:- 学得模型适用于新样本的能力。训练好的模型在前所未见的数据上的性能好坏。- 训练数据和真实数据间的差异,训练模型的目地是要模型在完全陌生的数据上进行测试的;- 通常假设样本空间中的样本服从一个未知分布D , 样本从这个分布中独立获得,即“独立同分布”(i.i.d)。一般而言训练样本越多越有可能通过学习获得强泛化能力的模型
模型
模型定义了特征与标签之间的关系。例如,垃圾邮件检测模型可能会将某些特征与“垃圾邮件”紧密联系起来。
两个阶段:
- 训练是指创建或学习模型。也就是说,向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系。
- 推断是指将训练后的模型应用于无标签样本。也就是说,使用经过训练的模型做出有用的预测 (y’)。例如,在推断期间,您可以针对新的无标签样本预测是否好瓜。
假设空间
假设空间由3部分组成:
① 属性(特征)色泽,根蒂,敲声的取值分别有2,3,3种选择;
② 色泽,根蒂,敲声也许无论取什么值都合适,我们分别用通配符“ * ”表示
例如:“ 好瓜<—>(色泽= *)^(根蒂=蜷缩)^(敲声=浊响)”,
即“好瓜是根蒂蜷缩、敲声浊响的瓜,什么色泽都行”
③ 还有一种极端情况,有可能“ 好瓜 ”这个概念根本就不成立,
世界上压根就没有“好瓜”这种东西,我们用Ø表示这个假设。
所以,表中,色泽有2中取值,根蒂有3中取值,敲声有3中取值,
再加上各自的“通配项”,以及极端情况“好瓜概念根本不成立”的Ø,
故假设空间规模大小为:(2+1) * (3+1) * (3+1)+ 1 = 49。
学习过程看作一个在所有假设(hypothesis) 组成的空间中进行搜索的过程,搜索目标是找到与训练集"匹配"的假设,获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学得的结果。
算法分类
算法分类
- 输入数据有无标记信息
- 监督学习:分类、回归 样本带有标签值,称为监督信号,有学习过程,根据训练样本学习,得到模型,然后用于预测。按照标签值的类型可以进一步分为两类 分类问题 - 标签值为整数编号,离散值 回归问题 - 标签值为实数
- 无监督学习:聚类,降维 样本没有标签值,没有训练过程,机器学习算法直接对样本进行处理,得到结果
- 半监督学习:两者结合 有些训练样本有标签值,有些没有标签值,用这些样本进行训练得到模型,然后用于预测,介于有监督学习与无监督学习之间
- 强化学习: 计算机从一开始完全随机的进行操作,通过不断地尝试,从错误中学习,找到规律,学会了达到目的的方法。这就是一个完整的强化学习过程。 让计算机在不断的尝试中更新自己的行为,从而一步步学习如何操纵自己的行为得到高分。给予算法一个不断试错,并具有奖励机制的场景,最终是算法找到最佳路径或者策略。 它主要包含四个元素,Agent、环境状态、行动、奖励,强化学习的目标就是获得最多的累计奖励。
生成模型与判别模型
有监督学习算法可以进一步分为生成模型与判别模型
- 生成模型对样本特征向量与标签值的联合概率分布
p(x,y)
进行建模,或者对条件概率p(x|y)
建模 生成模型需要对样本的特征向量服从某种概率分布建模 - 判别模型直接对后验概率
p(y|x)
建模 或者直接预测标签值y=f(x)
,不使用概率模型 判别模型不对样本特征向量的概率分布进行建模机器学习通用步骤
- 选择数据:训练数据、测试数据、验证数据(训练效果、泛化效果、验证效果)
- 数据建模: 使用训练数据来构建使用相关特征的模型
- 训练模型:特征数据接入算法模型,来确定算法模型的类型,参数等。
- 测试模型:使用测试数据检查被训练模型的表现(精确率、召回率)
- 验证模型: 使用完全训练好的模型在新数据上做预测
- 调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现
2 线性模型
最小二乘法
例题
3 评估(划分、PR、ROC)
数据集划分
- 训练集: 用于训练模型,在训练过程中,可以优化模型,更改参数。
- 验证集: 在训练的过程中,使用验证数据选择性能最佳的方法,比较算法和训练参数,确定选择哪种结果最佳
- 测试集: 训练结束后,测试训练好的模型性能。过拟合和欠拟合
评估方法
- 留出法: 直接将数据集划分为两个互斥集合 训练/测试集划分要尽可能保持数据分布的一致性 一般若干次随机划分、重复实验取平均值 训练/测试样本比例通常为2:1~4:1
- 交叉验证法: 将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为测试集,最终返回k个测试结果的均值,k最常用的取值是10.
- 自助法: 以自助采样法为基础,对数据集
D
有放回采样m
次得到训练集D'
, 用D\D'
做测试集。
性能度量
回归
MAE(mean absolute error) = mean(abs(Prediction-Real))
MSE(mean squared error) = mean((Prediction-Real)^2)
RMSE(Root mean squared error) = sqrt(MSE)
分类
Accuracy , Precision , Recall , F1,ROC,P-R,AUC
对于分类任务,错误率和精度是最常用的两种性能度量:
错误率:分错样本占样本总数的比例
精度:分对样本占样本总数的比率
查准率:挑出来的西瓜中有多少比例是好瓜
查全率:所有好瓜中有多少比例挑了出来
(信息检索、Web搜索等场景)
统计真实标记和预测结果的组合可以得到“混淆矩阵”
F1度量
ROC曲线
类似P-R曲线,根据学习器的预测结果对样例排序,并逐个作为正例进行预测,以“假正例率”为横轴,“真正例率”为纵轴可得到ROC曲线,全称“受试者工作特征”.
真正率与假正率
偏差与方差
通过实验可以估计学习算法的泛化性能,而==“偏差-方差分解”可以用来帮助解释泛化性能==。偏差-方差分解试图对学习算法期望的泛华错误率进行拆解。
偏差度量了学习算法期望预测与真实结果的偏离程度;即刻画了学习算法本身的拟合能力;
方差度量了同样大小训练集的变动所导致的学习性能的变化;即刻画了数据扰动所造成的影响;
噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界;即刻画了学习问题本身的难度。
泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务为了取得好的泛化性能,需要使偏差小(充分拟合数据)而且方差较小(减少数据扰动产生的影响)。
4 梯度下降
5 贝叶斯(计算)
贝叶斯定理
贝叶斯定理中:先验概率、似然函数和后验概率。举例:在丛林发现某一生物(假设两类:人A或者猩猩B)有长长的手臂C,
先验概率:在丛林中出现猩猩的概率更大,即设是猩猩的概率p(B)为0.7,可得P(A)=0.3;(通过生活中的一些经验得到的,可轻易得到的)
似然函数为p(C|B),即猩猩表现为手臂较长的可能性(似然)较大;
后验概率为p(B|C),即通过手臂较长这个条件判断该生物为猩猩的概率。
所以贝叶斯定理的核心思想是:通过先验概率和似然函数最终求得后验概率。
举例
6 BP(原理、应用)
全连接前馈网络
4x20+20+20x3+3
7 训练技巧(Batch,lr,…)
伪代码
INPUT:数据集 D = {(xi,yi)}(i:1~N)
数据划分:训练集 D1 = {(xi,yi)}(i:1~m)
测试集 D2= {(xi,yi)}(i:1~p)
训练阶段:
定义学习率 η
在(0,1)内初始化神经元的连接权值和阈值;
REPEAT
FOR ALL (xk,yk)IN D1
根据当前样本的数据计算神经网络输出;
计算神经网络输出与标签值的误差;
根据误差计算各个参数的下降梯度;
根据下降梯度更新参数;
END UNTIL 达到迭代次数
OUTPUT = BP神经网络
测试阶段:
输入:所有(xk,yk)IN D2
根据D2样本的数据计算神经网络的输出;
输出预测准确率;
8 CNN(参数、特征图)
CNN
卷积操作
举例
假设输入的图像为100*100像素(RGB)的图像, 且使用了卷积层进行处理,
其包括100个过滤器,每个的尺寸为5*5,则这个隐藏层需要多少参数(包括偏置参数)?
100*(5*5*3+1)=7600
池化操作
池化操作没有学习的参数
VGG16
9 聚类(K-means)
聚类概述
所谓聚类问题,就是给定一个元素集D={x_0,x_1…….x_k},其中每个元素具有n个特征,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇(cluster)。
距离度量
1、欧式距离(Euclidean Distance)
2、曼哈顿距离(Manhattan Distance)
3、闵氏距离(Minkowski Distance)
4、余弦相似度(Cosine Similarity)
4、距离度量的基本性质
聚类算法
K-Means算法
伪代码
练习
D={A(5,3),B(-1,1),C(1,-2),D(-3,-2)}
K=2
初始均值向量
两个初始中心1(B)、初始中心2(D)
u1=(-1,1),u2=(-3,-2)
C1=∅,C2=∅
分别计算A、B、C、D到中心u1,u2的欧式距离
Da1=sqrt(40) Da2=sqrt(89)
Db1=sqrt(0) Db2=sqrt(25)
Dc1=sqrt(13) Dc2=sqrt(16)
Dd1=sqrt(25) Dd2=sqrt(0)
C1={A,B,C},C2={D}
计算新的均值向量
u1=(5/3,2/3),u2=(-3,-2)
分别计算A、B、C、D到中心u1,u2的欧式距离
Da1=sqrt(16.5...) Da2=sqrt(89)
Db1=sqrt(7.2...) Db2=sqrt(25)
Dc1=sqrt(7.5...) Dc2=sqrt(16)
Dd1=sqrt(28.8...) Dd2=sqrt(0)
C1={A,B,C},C2={D}
计算均值向量
u1=(5/3,2/3),u2=(-3,-2)
不再改变
所以,C1={A,B,C},C2={D}
改进
2、DBSCAN算法
10 SVM(原理)
1.什么是支持向量机?
支持向量机(Support Vector Machine,简称为SVM)是一种有监督的机器学习方法,用来进行分类和回归分析。
2.支持向量机算法
1)解决线性可分问题
2)再将线性可分问题中获得的结论推广到线性不可分情况。
3.支持向量机的优势?
解决小样本、非线性及高维模式识别中表现出许多特有的优势。
4.支持向量机的种类:
硬间隔SVM(Hard-margin SVM)
核SVM (Kernel SVM)
软间隔SVM (Soft-margin SVM)
-A:应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强.
更能抵御训练样本位置的误差
最后
请您阅读文章声明,默认同意该声明
打赏通道
版权归原作者 日星月云 所有, 如有侵权,请联系我们删除。