模式识别和机器学习重点算法总结篇_模式识别与机器学习-程序员宅基地

技术标签: 机器学习  模式识别  模式识别与机器学习  模式分类  


1,反向传播算法训练步骤总结:

1.1步骤:

在网络的训练过程中,梯度计算分为前向计算与反向传播 :
1)随机初始化权重和偏差;
2)在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层;
3) 如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,计算输出与期望值之间的误差;
4)转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,对每个产生误差的神经元,调整相应的权重值,以减小误差,网络的学习在权值修改过程中完成。
5)重复迭代,误差达到所期望值时或者得到网络的最佳权重值,网络学习结束。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2影响网络性能的因素:

权重的初始化、网络层数的选择、每层结点数量的选择、学习率 、激活函 数的选择都会影响网络性能:

  1. 在网络中,通常会使用小随机数来初始化各网络层的权重,以防止产生不活 跃的神经元,但是设置过小的随机数可能生成零梯度网络。一般来说,均匀分布方法效果较好。若权值设置不当,利用 BP 算法更新可能只能达到局部 最优,无法达到全局最优;
  2. 网络层数过少,神经网络表达能力欠佳,增加隐含层数目以加深网络深度, 会在一定程度上改善网络性能,但也会出现计算量大、梯度消失等问题;
  3. 增加每层网络的结点数量会增加网络表达能力,但也会造成计算量增大;
  4. 学习率主要的目的是控制梯度下降的步长,学习率太小,网络收敛速度太 慢,反之变快。学习率主要是影响网络的训练速度;
  5. 激活函数具有非线性,理论上可以使模型拟合出任何函数。选择不同的激活函数能让网络实现不同的功能和效果。

1.3 卷积神经网络权重计算

在这里插入图片描述

2,Adaboost 算法的设计思想和主要计算步骤:

2.1 设计思想:

给定训练集,寻找比较粗糙的分类规则(弱分类器)要比寻找精确的分类规则要简单得多。提升算法的核心是:从弱学习算法出发,反复学习,得到一系列弱分类器;然后组合这些弱分类器,构成一个强分类器
基本做法是:改变训练数据的概率(权重)分布,提高那些被前一轮弱分类器分错的样本的权重,降低已经被正确分类的样本的权重,针对不同的训练数据的分布,调用弱学习算法来学习一系列分类器。
关于弱分类器的组合,Adaboost的做法是:采用加权(多数)表决的方法。具体地,加大分类错误率较小的弱分类器的权重,使其在表决中起更大的作用。

2.2 计算步骤:

在这里插入图片描述
在这里插入图片描述

3,k_means聚类算法:

3.1 从混合高斯密度函数估计的角度,简述K-Means聚类算法的原理:

混合高斯密度函数估计是指对于一个由多个高斯成分组成的分布,利用给定的数据估计高斯成分的参数(均值、协方差矩阵、先验概率),并给出每一样本属于哪一个高斯分量,从而可以得到样本的聚类结果。
在这里插入图片描述
在这里插入图片描述

3.2 K-Means 聚类算法的计算步骤:

在这里插入图片描述

3.3 影响聚类性能的因素:

影响K-means聚类算法性能的因素主要有以下两种:
(1)聚类中心的个数。不同的聚类中心个数的设定会产生不同的聚类结果,如果错误设置聚类中心的个数的值,会增大聚类误差。
(2)均值向量的初始化。K-means非常依赖于聚类中心的初始位置,初始选择不同的聚类中心,有可能会收敛到局部最小值,也有可能收敛到全局最小值。

4,谱聚类算法:

4.1 谱聚类算法的原理:

谱聚类算法的本质是将聚类问题转化为一个图上的关于顶点划分的最优问题。对于个样本点,将这些样本点用图表示,就可以将聚类问题转换为图分割问题。即找到一种合理的分割图的方法,分割后形成若干子图。连接不同子图的边权重尽可能小,子图内部边权重尽可能大。
在这里插入图片描述

4.2 计算步骤(经典算法):

在这里插入图片描述

4.3 谱聚类的优缺点:

谱聚类算法的主要优点有:
  1)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效。这点传统聚类算法比如K-Means很难做到。
  2)由于使用了降维,因此在处理高维数据聚类时的复杂度比传统聚类算法好。
 谱聚类算法的主要缺点有:
  1)如果最终聚类的维度非常高,则由于降维的幅度不够,谱聚类的运行速度和最后的聚类效果均不好。
  2) 聚类效果依赖于相似矩阵,不同的相似矩阵得到的最终聚类效果可能很不同。

5. 数据降维:

5.1 PCA主成分分析。

PCA的思想是将n维特征映射到m维上(m<n),这m维是全新的正交特征,称为主成分,这m维的特征是重新构造出来的,不是简单的从n维特征中减去n-m维特征。
PCA属于无监督(训练样本无标签)的降维方法,是一种正交投影,侧重选择样本点投影方差最大的方向,减少特征相关性。
适用场景:
(1)原始数据特征多而且特征冗余。
(2)需要对样本进行可视化的时候,三维以上的特征无法进行可视化。
在这里插入图片描述

5.2 CCA典型相关分析

它选择的投影标准是降维到1维后,两组数据的相关系数最大。
适用场景:侧重于两组数据有相关关系的时候。

5.3 LDA线性判别分析

是从更利于分类的角度的有监督(训练样本有标签)的降维方法。希望数据投影后类内方差最小,类间方差最大。
适用场景:侧重于分类

1)两类问题的LDA目标函数:
在这里插入图片描述
在这里插入图片描述
2)最大化下列目标函数:
在这里插入图片描述
Sb:类间离散度
Sw:类内离散度
类内方差最小(分母),类间方差最大(分子)来最大化下列目标函数。

3)最大化分子,把分母等于1作为约束条件,写出拉格朗日乘子法求出w的值。
在这里插入图片描述

5.4 ICA:独立成分分析

ICA信号需要是非高斯的,寻找的是最能使数据的相互独立的方向。
应用场景:盲信号分离。
假设:
每一个类是单模态高斯分布 → 多模态LDA
每一个类的协方差矩阵都相同 → 异方差LDA
不足:
类分离问题。
降维维数不能超过C-1,C是类别数

5.5 PCA与LDA比较

LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。
相同点:
    1)两者均可以对数据进行降维。
    2)两者在降维时均使用了矩阵特征分解的思想。
    3)两者都假设数据符合高斯分布。
不同点:
    1)LDA是有监督的降维方法,而PCA是无监督的降维方法
    2)LDA降维最多降到类别数c-1的维数,而PCA没有这个限制。
    3)LDA除了可以用于降维,还可以用于分类。
    4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。
  
LDA算法的主要优点有:
    1)在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
    2)LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。
LDA算法的主要缺点有:
    1)LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。
    2)LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。
    3)LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。
    4)LDA可能过度拟合数据。

5.6 非线性数据降维:

核PCA:
1)先通过核方法把低维线性不可分的数据升维到高维空间,得到线性可分的核矩阵
2)对核矩阵进行PCA降维
流形及其流形学习:
流形学习的本质:当样本空间为一个高维光滑流形时,要从样本数据中学习这个高维流形的内在几何结构或内在规律,得到对应的低维数据集,实际也就是非线性降维。
流形学习的主要算法:
(1)基于全局的方法,如等距映射(ISOMAP)
(2)基于局部的方法,如局部线性嵌入算法(LLE)
LLE算法主要分为三步:
(1)求k个近邻的过程,这个过程使用了和KKN算法一样的求最近邻的方法
(2)对每个样本求它在邻域里的k个近邻的线性关系,得到线性关系的权重系数w
(3)利用权重系数在低维里重构样本数据
ISOMAP:
引入图论框架,将数据作为图中的点,点与其邻近点之间使用边来连接,逼近的测地线使用最短路径代替。
步骤1:构建邻接图G
步骤2:计算所有点对之间的最短路径
步骤3:把最短路径输入MDS算法得到输出。

6 k近邻(KNN)和parzen窗

非参数估计:
已知样本所属的类别,但未知总体概率密度函数的形式,要求我们直接推断概率密度函数本身。
在这里插入图片描述

6.1 KNN

K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
knn详细内容可参考此文:https://zhuanlan.zhihu.com/p/25994179

6.2 parzen窗

在这里插入图片描述

Parzen窗详细内容可参考此文:https://www.cnblogs.com/aminor/p/13851150.html

7 结构风险最小化与VC维:

结构风险最小化指在保证在训练集中的分类精度(经验风险)的同时,降低模型的复杂度,让模型在测试集上也能获得低错误率。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。

VC维指分类器能将样本分开的最大数目定义,K维超平面上VC维为K+1。VC维反映了函数集的学习能力,VC维越大则模型越复杂。
在这里插入图片描述

8 SVM 支持向量机

算法实质:(线性/非线性)约束下的优化问题;目标函数就是我们想要求解的分类平面(i.e. 超平面 hyperplane)
在这里插入图片描述

分类及对应原理:

(1)当训练样本线性可分时,通过硬间隔(margin)最大化,学习一个线性分类器,即线性可分支持向量机;

(2)当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;

(3)当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
在这里插入图片描述

8.1 Hard-Margin SVM(二类分类器)

在这里插入图片描述
在这里插入图片描述

8.2 Hinge Loss在SVM中的意义

在这里插入图片描述
Hinge Loss的引入有以下两方面的意义:

(1) 将软约束添加到线性SVM中,让SVM允许少量样本错分,让模型更具有鲁棒性。
(2) 保持了SVM的稀疏性。Hinge Loss的零区域对应的是非支持向量的普通样本,这些样本都不参与最终超平面的决定,从而对训练样本的依赖大大减少,提高了训练效率。

软间隔惩罚参数C会影响决策边界位置:

C在等于合适的值的时候,不是特别大也不是特别小的时候。既保证了分类,而且又最大化magin,避免过拟合现象。
惩罚因子C越大,则SVM会更倾向把所有数据分对,往往出现较小的margin,最终导致过拟合现象,泛化性能不好。
C过于小,则惩罚力度不够,SVM会更倾向实现最大化的margin,而对样本分对分错不关心,不利于分类。

8.3 核方法的基本原理

核方法大致思想为:
将在原始低维空间线性不可分的分类问题通过非线性变换成高维空间线性可分的分类问题,在高维空间学习线性支持向量机。在线性支持向量机学习的对偶问题中,把低维到高维的非线性变换的内积形式用核函数表示
在这里插入图片描述
在这里插入图片描述

9 感知准则函数

在这里插入图片描述
在这里插入图片描述

10 决策树与随机森林

在这里插入图片描述

特征选择

特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。
在特征选择中通常使用的准则是:信息增益。

决策树生成

选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。

决策树剪枝

剪枝的主要目的是对抗「过拟合」,通过主动去掉部分分支来降低过拟合的风险。

10.1 ID3 决策树

核心是在决策树各个结点上应用信息增益准则选择特征,递归的构建决策树。相当于用极大似然法进行概率模型的选择。
(1)不能对连续数据进行处理,只能通过连续数据离散化进行处理;
(2)采用信息增益进行数据分裂容易偏向取值较多的特征,准确性不如信息增益率;
(3)缺失值不好处理。
(4)没有采用剪枝,决策树的结构可能过于复杂,出现过拟合。
在这里插入图片描述

10.2 C4.5 决策树

继承了ID3的优点,并从以下四个方面进行改进。
1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足
2)在树构造过程中进行剪枝
3)能够完成对连续属性的离散化处理
4)能够对不完整数据进行处理

10.3 CART 决策树

相比ID3和C4.5,CART既可以用于分类也可以用于回归。 CART 树的生成就是递归地构建二叉决策树的过程。对回归树用
平方误差最小化准则,对分类树用基尼指数最小化准则 ,进行特征选择,生成二叉树。

10.4 随机森林

该算法用随机的方式建立起一棵棵决策树,然后由这些决策树组成一个森林,其中每棵决策树之间没有关联,当有一个新的样本输入时,就让每棵树独立的做出判断,按照多数原则决定该样本的分类结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11 自组织映射

在这里插入图片描述

12,Logistic回归分析(Logistic Regression)

逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。
比如:
一封邮件是垃圾邮件的可能性(是、不是)
你购买一件商品的可能性(买、不买)
广告被点击的可能性(点、不点)
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36421001/article/details/113942899

智能推荐

java 设计模式(单例,享元,策略)_java 策略模式,享元模式-程序员宅基地

文章浏览阅读362次。读书不觉已春深,一寸光阴一寸金。java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问..._java 策略模式,享元模式

BZOJ2648 SJY摆棋子(k-d树)-程序员宅基地

文章浏览阅读375次。###题目链接思路:$\ \ \ \ 二维的二维的二维的k-d树,查询的时候其实就是贪心搜索+剪枝,树,查询的时候其实就是贪心搜索+剪枝,树,查询的时候其实就是贪心搜索+剪枝,k-d树的建树和查询网上很多,插入的时候就是暴力插入。可为啥我的暴力插入超时了,话说应该要像替罪羊树那样维护树的建树和查询网上很多,插入的时候就是暴力插入。可为啥我的暴力插入超时了,话说应该要像替罪羊树那样维护树的建树和...

基于Springboot搭建java项目(四)——后端接口调试工具Postman还是Apifox(ApiPost)_springboot接口apifox-程序员宅基地

文章浏览阅读2.3k次。​ 一直一来,我使用的接口调试工具就是Postman,但是最近发现了同样好用的Apifox,并且Apifox有更多的功能,用起来感觉还是不错的,至于这两个工具的好坏各有优缺点,下面就对这两种接口调试工具做一个简单的介绍。​ 这两款软件windows 64位的都可以在我的链接: https://pan.baidu.com/s/15JEpY5gXnxTLoh5yqXtPrA?pwd=mjnf 提取码: mjnf中下载。Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。_springboot接口apifox

C# 判断符合要求的16进制字符串格式_c#判断字符串是否16进制-程序员宅基地

文章浏览阅读1k次。/// <summary>转载:www.uzhanbao.com /// 判断是否十六进制格式字符串 /// </summary> /// <param name="str"></param> /// <returns></returns> pub..._c#判断字符串是否16进制

MEMS之重力加速计mma7660,与陀螺仪-程序员宅基地

文章浏览阅读94次。参考地址:http://home.eeworld.com.cn/my/space.php?uid=306328&do=blog&id=42866这两天调好了3轴g-sensor ,mma7660, 可以用了. 倾斜晃动或改变板子的方向, mma7660就会产生中断, 并给出当前板子的姿态(水平/垂直, 上下,左右等).1. 重力加速度计 mma7660..._mma7660 博客

java switch 计算器_java代码实例 使用switch实现简易的计算器(实现加减乘除) | 学步园...-程序员宅基地

文章浏览阅读131次。import java.util.Scanner;/** 使用switch实现简易的计算器(实现加减乘除);*/public class test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入一个表达式(例如: 5 + 3):");int a =..._利用java运行环境,创建demo1类,利用switch语句实现计算器,考虑除数不为0

随便推点

【华为OD】| 最短木板长度_贪心思维_最短木板长度 od-程序员宅基地

文章浏览阅读156次。我们还需要考虑一种特殊情况,那就是 m 还有值,但是只剩下一种长度的板,此时我们应该平分材料到每一个板假设只剩一种长度的板有 count 个,则平均分的话,每个板能分得m/cout 长度,这个值有可能是小数,我们举个例子:5 个一样长度 x 的板,m = 13,则 13 /5 2…个板: 4 5 3 5 5,可用材料 m=3 最短的板长度是 3,只有一个,那么我们就将他补足到 4,此时消耗了一单位长度的材料,m=2 这样的话,只剩下两种长度的板 4,5,请问小明加长木板后,最短木板的长度可以为多少?_最短木板长度 od

VMware虚拟机的linux系统无法与主机复制粘贴文字以及文件解决办法_linux无法与外界复制粘贴-程序员宅基地

文章浏览阅读1.4w次,点赞27次,收藏59次。VMware虚拟机的linux系统无法与主机复制粘贴文字以及文件解决办法只需要输入两行代码:sudo apt-get autoremove open-vm-toolssudo apt-get install open-vm-tools-desktop在安装期间遇见yes直接输入yes即可,其他情况均回车。注意如果不行的话可以看看以下方案:虚拟机需要联网!!!先更新一下aptsudo apt-get update..._linux无法与外界复制粘贴

基于jq和json数据实现异步加载动态网页-程序员宅基地

文章浏览阅读160次。<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" type="text/css" href="css/iconfont.css"/><link rel="stylesheet" type="t..._jquery基于json动态加载图片

便携式手提万兆网络协议测试仪-程序员宅基地

文章浏览阅读1k次,点赞11次,收藏27次。具备丰富的外设接口,如VGA、HDMI、千兆网口、USB2.0/3.0以及方便的JTAG调试口;FPGA万兆卡是以Kintex-7XC7K325T PCIeX4的双路万兆光纤网络卡,支持万兆网络数据的收发和网络协议的定制设计。设置smac/dmac地址递增或递减(含count、repeat、mask)设置sip/dip地址递增或递减(含count、repeat、mask)设置sp/dp地址递增或递减(含count、repeat、mask)设置sp/dp地址递增或递减(含count、repeat、mask)

docker export import后,导入镜像,启动时的错误,Error response from daemon: No command specified_docker import后的镜像无法直接使用-程序员宅基地

文章浏览阅读1.6w次,点赞7次,收藏12次。运行导入的镜像必须带command,否则启动会报错:Error response from daemon: No command specifieddocker run -d -p 9999:9093 sso:latest java -Djava.security.egd=file:/dev/./urandom -jar /app.jar具体的command需要在导出容器的时候通过doc..._docker import后的镜像无法直接使用

win10中chrome浏览器书签路径_win10谷歌浏览器书签保存在哪里-程序员宅基地

文章浏览阅读8.8k次。win10中chrome浏览器书签路径C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Bookmarks_win10谷歌浏览器书签保存在哪里

推荐文章

热门文章

相关标签