【统计计算】课程总结笔记

传统的主成分分析法(PCA)缺陷在于:对于“小样本问题”(样本维数d远大于样本个数N),样本协方差矩阵规模(d×d)太大了,在后续求特征值问题中计算量较大。
于是,针对传统PCA算法中的协方差矩阵,提出改进方法–快速PCA:形成新的“协方差矩阵”,其规模为(N×N),接着复原出需要的投影矩阵。
在这里插入图片描述


线性判别分析(LDA)提出类内(within)、类间(between)的概念,有点像计算机专业中什么软件程序模块设计的准则–“高内聚,低耦合”,并据此提出目标函数–迹比率。处理过程中,考虑到“矩阵迹做出来的比值”是非线性的,不便于数学处理,又将其改进为“矩阵比的迹”。
寻找-能够使得新目标函数(矩阵比的迹)达到最大的-矩阵V,也就是,
寻找-由类间矩阵、类内矩阵所构成的广义特征值问题-,
求得的-前(k-1)个最大特征值所对应的特征向量-就是-矩阵V。
求解上述的广义特征值问题中,会出现 矩阵奇异,影响最终结果,基于此,提出了新方法RLDA(正则化的LDA)在这里插入图片描述
此外,还有一种新方法来解决此问题,即EDA(指数判别分析法)。通过对矩阵引入指数函数,解决矩阵奇异的情况出现。比如说:exp(0) = I I I,也就是说取指数这个变换太厉害了,零矩阵都能变成非奇异的。
而这一方法的具体实现,只需要把LDA中的类内、类间矩阵改为取指数的类内、类间矩阵就行了。
在这里插入图片描述


上述PCA方法需要把二维的图像矩阵拉成向量(一张图对应一个二维矩阵,再被拉成一维向量),这样会破坏矩阵的数据结构,还会造成小样本问题。基于此,提出了2D-PCA方法:不再拉长原矩阵,而是直接对原二维的图像矩阵进行处理。
step1 特征提取,采样:
利用投影矩阵W对原矩阵A进行投影,Y = AW , 即得到特征矩阵Y,这时Y的规模小于A矩阵。
那么,如何选取投影矩阵?类似于PCA中的想法:计算样本协方差矩阵,解其特征向量,即可得到投影矩阵W。
step2 模式分类:
对-未知矩阵A进行特征提取后的-特征矩阵Y,与已知训练集中的特征矩阵进行比较,如果和训练集中第i类的特征矩阵距离很近,那么就把矩阵A分入第i类。
如何衡量矩阵的距离?这里使用矩阵的F范数。
如何 重构图像:
由于特征矩阵的规模小于原矩阵(主要体现在列数上),把投影矩阵的转置 W T W^{T} WT右乘在特征矩阵上,从而使得重构出的矩阵和原矩阵同样大小。根据矩阵乘法秩的关系,可知重构出的矩阵的秩小于原矩阵的秩,所以是其低秩近似。

同样地,对LDA也可修整出2D-LDA.
在这里插入图片描述
在这里插入图片描述


典型相关分析法(CCA):
该方法特点在于:一个样本点是由成对的数据构成,出现在双视图中。
值得注意的是:在某些空间的定义下,相关系数可以视作向量夹角的余弦值,那么可想而知–余弦值越大,夹角越小,也就是越相关。
在该算法中希望找到使得定义中的相关系数最大的向量。使用拉格朗日乘子法,可以把问题归结为求矩阵的广义特征值问题。不过, C y y C_{yy} Cyy矩阵可能无法正常求逆,于是需要进行正则化(也就是在对角线位置加入正的纯量矩阵),以此保证是可求逆的。
在这里插入图片描述
在这里插入图片描述


核方法:
针对非线性结构的数据处理提出的一种算法。具体实施:把低维样本空间上的非线性数据,通过非线性映射,到高维的核空间上呈现出线性,而后再使用线性方法处理数据。其中非线性映射称为核映射,并引入核函数的概念。核函数,是样本空间上的二元函数,定义为核空间中的内积。从核函数出发,又定义了核矩阵。
核主成分分析法(KPCA):
利用核函数,把原始的样本空间上的数据映射到核空间中,并在核空间上进行主成分分析。
根据PCA的思想,目标是找到使得总体散度最大的投影向量w,也就是,计算协方差矩阵的最大特征值所对应的特征向量。
值得注意的是:核空间的维数很高,甚至是无穷维的,于是实际中的协方差矩阵是无法形成的。不过,注意到可以使用低维的向量α把向量w线性表示出来,而向量α是不难得到的(也是求解特征值问题,只是矩阵规模小了),从而得到降维矩阵Q。
根据矩阵Q,可以将原来的样本向量x进行降维,得到向量y.
在这里插入图片描述

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

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 《统计学习方法》笔记与算法实现 ## 说明 李航《统计学习方法》笔记与算法的 Python 实现。测试样例是例题数据,学习笔记主要在[本人博客](http://yuenshome.cn)的[《统计学习方法》](http://yuenshome.cn/?cat=202)目录下,也可点击下方目录的章节名阅读笔记笔记大部分为原书的内容摘抄。 算法主要基于 Python 语言进行实现,为了原汁原味地用代码将算法描述,所有没有使用第三方的线性代数运算库(如 Numpy 或 Pandas 等)。代码注释尽可能完善完整,力求描述准确到位。如有错误,还望指出([→ 点击这里提问题吧 ←](https://github.com/ysh329/statistical-learning-methods-note/issues)),不胜感激! ## 目录 * 第 1 章 统计学习方法概论 * 第 2 章 [感知机](./chapter_2_perceptron/) [\[感知机代码-原始形式\]](./chapter_2_perceptron/Perceptron.py) [\[感知机代码-对偶形式\]](./chapter_2_perceptron/Dual-form_Perceptron.py) * 第 3 章 [k近邻算法](./chapter_3_kNN/) [\[k近邻代码\]](./chapter_3_kNN/kNN.py) [\[kd树简化版代码\]](./chapter_3_kNN/Simple-kd-Tree.py) [\[kd树完整版代码\]](./chapter_3_kNN/kd-Tree.py) [\[错误kd树代码\]](./chapter_3_kNN/WrongKDTreeCodeDemo.py) * 第 4 章 [朴素贝叶斯法](./chapter_4_NaiveBayes/) * 第 5 章 决策树 * 第 6 章 逻辑斯谛回归与最大熵模型 * 第 7 章 支持向量机 * 第 8 章 [提升方法](./chapter_8_boosting/) [\[AdaBoost代码\]](./chapter_8_boosting/AdaBoost.py) * 第 9 章 EM算法及其推广 * 第 10 章 隐马尔科夫模型 * 第 11 章 条件随机场 * 第 12 章 统计学习方法总结 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
目录 第一章 前言 2 1.1开发背景 2 1.2开发工具 2 1.3开发目标 2 第二章 需求分析 3 第三章 总体设计 4 3.1系统功能结构 4 3.2程序流程图 5 第四章 数据库设计 6 4.1概念结构设计 6 4.2逻辑结构设计 8 4.3物理结构设计 8 6、商品类别信息表如表4-6所示 10 第五章 详细设计 11 5.1登陆部分 11 5.2主界面 11 5.3职工信息查询 12 5.4桌台信息查询 13 5.5辅助工具 13 5.6修改密码、锁定功能 14 5.7开台部分 14 5.8结账部分 15 5.9点/加菜部分 15 5.10消费查询部分 16 5.11用户权限管理 16 第六章 编码 17 第七章 测试 19 第八章 设计总结 21 致谢 22 参考文献 22 第一章 前言 1.1开发背景 近几年来,计算机网络。分布及技术日趋成熟,随着科技的发展,餐饮业的竞争也越来 越激烈。想在这样激烈的环境中生存,就必须运用科学的管理思想与先进的管理方法, 使点餐与管理一体化。这样不仅可以提高工作效率,也避免了以前手工作业的麻烦,从 而是管理者能够准确。有效的管理。因此,餐饮业的管理者更像从科学的管理中去的竞 争的优势,在激烈竞争的商业市场中取胜。 1.2开发工具 硬件:笔记本电脑 软件:Windows XP操作系统 Microsoft Visual Studio 2008 Microsoft SQL Server 2000 本系统是采用 C#技术结合SQL Server数据库设计并实现的。窗口的开发工具为Microsoft Visual Studio 2008,数据库使用的是SQL Server 2000 Express Edition。编程语言采用的是c#。 1.3开发目标 1、系统采用人机交互的方式,界面友好美观,信息查询灵活方便,数据库存储安全可靠 。 2、实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。 3、对用户输入的数据进行严格的检验,尽可能的避免人为错误。 4、实现对消费账目自动结算。 5、实现对消费的历史记录进行查询,支持模糊查询。 6、系统应尽大限度的实现易维护性和易于操作性。 7、界面尽可能美观大方,易学易用。 第二章 需求分析 随着餐饮业的不断发展,餐饮管理系统的内容对于餐饮业的决策者和管理者来说都 非常重要。本系统主要包括桌台显示、消费查询、人事档案及权限等几大部分,具有良 好的用户接口,使用方便具有完善的查询,对维护系统起到辅助决策的作用,能及时、 方便、灵活的进行查询、修改删除等维护性操作。餐饮管理系统有足够大的存储容量, 满足酒店每日营业的变动,另外对于操作用户有一定的管理,并对用户的权限有一定的 设置。 为了使系统更加人性化,便于管理员管理,此系统的用户将分为两种类型,一个是针 对员工的餐饮管理系统,一个是针对管理员(店主)的餐饮管理系统。超级管理员拥有 所有权限。经理除了系统维护外,其他操纵都可以,普通用户只能实现辅助工具的使用 权限。 不同用户的权限如下: 员工使用本餐饮信息管理系统应可以实现以下功能: 1、使用辅助工具(日历、记事本、计算器) 2、查询统计(收入日报) 3、使用帮助菜单 4、退出系统 管理员使用本餐饮信息管理系统应可以实现以下功能: 1、进行基础信息的查询修改(开桌信息、职员信息、食品信息) 2、使用辅助工具(日历、记事本、计算器) 3、进行系统维护(权限管理) 4、系统设置(密码修改、系统锁定) 5、查询统计(收入日报) 6、使用帮助 7、退出系统 除了实现以上功能外,本系统还需要方便用户地使用,使得用户可以很快地熟练掌握 ,从而可以让用户快速的投入工作。并且要避免逻辑错误的出现。 第三章 总体设计 3.1系统功能结构 本餐饮管理系统需要分为以下几个功能模块并分别实现。具体的功能结构如图3- 1所示。 1. 基础信息模块:用来查询桌台信息和职员信息。 2. 辅助工具模块:包括日历,记事本,计算机等小的辅助工具。 3. 系统维护模块:用来管理权限,系统备份和恢复。 4. 系统设置模块:用来设置密码,锁定系统。 5. 帮助模块:用来存放有关本系统的信息。 6. 退出模块:退出系统。 图3-1系统功能结构图 3.2程序流程图 本系统程序流程图如图3- 4所示。首先用户打开系统,输入登录名和密码,若点击登录,验证登录名密码正确后进 入主界面,若点击取消,则停留在系统登陆界面。进入主界面之后,系统会验证该用户 是管理员还是普通用户,若为管理员,则该用户可以使用系统维护,系统设置,基础信 息功能模块,若不是管理员,则只能访问辅助工具,退出,帮助模块。 图3-2程序流程图 第四章 数据库设计 4.1概念结构设计 1、商品信息表E-R图如图4-1所示 图4-1商品

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值