现在我们回到LDA的原理上,我们在第一节说讲到了LDA希望投影后希望同一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,但是这只是一个感官的度量。
现在我们首先从比较简单的二类LDA入手,严谨的分析LDA的原理。
    假设我们的数据集D={(x1,y1),(x2,y2),...,((xm,ym))}D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xixi为n维向量,yi∈{0,1}yi∈{0,1}。
我们定义Nj(j=0,1)Nj(j=0,1)为第j类样本的个数,Xj(j=0,1)Xj(j=0,1)为第j类样本的集合,而μj(j=0,1)μj(j=0,1)为第j类样本的均值向量,定义Σj(j=0,1)Σj(j=0,1)为第j类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。
    μjμj的表达式为:μj=1Nj∑x∈Xjx(j=0,1)μj=1Nj∑x∈Xjx(j=0,1)    ΣjΣj的表达式为:Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1)Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1)    由于是两类数据,因此我们只需要将数据投影到一条直线上即可。
假设我们的投影直线是向量ww,则对任意一个样本本xixi,它在直线ww的投影为wTxiwTxi,对于我们的两个类别的中心点μ0,μ1μ0,μ1,在在直线ww的投影为wTμ0wTμ0和wTμ1wTμ1。
由于LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是我们要最大化||wTμ0−wTμ1||22||wTμ0−wTμ1||22,同时我们希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的协方差wTΣ0wwTΣ0w和wTΣ1wwTΣ1w尽可能的小,即最小化wTΣ0w+wTΣ1wwTΣ0w+wTΣ1w。
综上所述,我们的优化目标为:argmaxwJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)wargmax⏟wJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w    我们一般定义类内散度矩阵SwSw为:Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)TSw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T    同时定义类间散度矩阵SbSb为:Sb=(μ0−μ1)(μ0−μ1)TSb=(μ0−μ1)(μ0−μ1)T    这样我们的优化目标重写为:argmaxwJ(w)=wTSbwwTSwwargmax⏟wJ(w)=wTSbwwTSww    仔细一看上式,这不就是我们的广义瑞利商嘛!这就简单了,利用我们第二节讲到的广义瑞利商的性质,我们知道我们的J(w)J(w)最大值为矩阵S−12wSbS−12wSw−12SbSw−12的最大特征值,而对应的ww为S−12wSbS−12wSw−12SbSw−12的最大特征值对应的特征向量!而S−1wSbSw−1Sb的特征值和S−12wSbS−12wSw−12SbSw−12的特征值相同,S−1wSbSw−1Sb的特征向量w′w′和S−12wSbS−12wSw−12SbSw−12的特征向量ww满足w′=S−12www′=Sw−12w的关系!    注意到对于二类的时候,SbwSbw的方向恒为μ0−μ1μ0−μ1,不妨令Sbw=λ(μ0−μ1)Sbw=λ(μ0−μ1),将其带入:(S−1wSb)w=λw(Sw−1Sb)w=λw,可以得到w=S−1w(μ0−μ1)w=Sw−1(μ0−μ1),也就是说我们只要求出原始二类样本的均值和方差就可以确定最佳的投影方向ww了。
2024/7/30 21:57:26 3KB MATLAB 人脸识别 LDA knn
1
系统简介:主要功能介绍:(1)订单管理模块;(2)供应商模块;(3)用户管理模块等。
项目技术:主要运用Spring+SpringMVC+MyBatis+JQuery+Jsp+Jstl+MySQL。
所用工具:Tomcat7.0、MyEclipse10、Mysql硬件环境:Windows7功能模块:订单管理模块:主要包含对订单信息包括商品的查询,修改,删除,添加功能;
供应商管理模块:主要包含对供应商的查询,修改,删除,添加功能;
用户管理模块:主要包含对所有用户信息的查询,修改,删除,添加功能;
密码模块:主要包含对当前登入用户密码进行修改操作;
本资源仅供学习使用。
欢迎下载。
1
java从xml中读入数据并存入到sqlserver2005数据库中
2024/7/30 0:47:05 3KB java xml 数据库
1
零资源分下载,分享精神至上~3.0版新加入三维天空模拟系统。
其中的3D人物模型使用的是真三国无双6中的一个女角色。
背景音乐为仙剑奇侠传3主题曲。
一个综合型的Direct3D示例程序的3.0版。
用键盘上W,A,S,D,I,J,K,L,↑,↓,←,→12个键加上鼠标在美丽的三维空间中翱翔。
包括了Direct3D初始化,DirectInput输入处理,顶点缓存,光照与材质,文字输出,颜色,纹理贴图,四大变换,网格模型,X文件载入等等知识(当然还有默认被开启的深度缓存),地形系统模拟,三维天空模拟。
源码的配套博文是《【VisualC++】游戏开发四十九浅墨DirectX教程十七三维天空的实现》,文章地址为http://blog.csdn.net/zhmxy555/article/details/8715196,点击Release文件夹下的exe文件可以直接看到运行效果,运行需要DirectX运行库的支持。
报缺少D3D的DLL系列错误的童鞋们请google/百度一下“DirectX9.0cruntime”,下载并装个最新版的。
报缺少MVCR100D.Dll错误的朋友们去下一个安装就可以了,或者直接点击sln打开工程再次编译一次。
如果是想调试并运行源代码,但是报错了,请去下载最新版DirectXSDK并进行DirectX开发环境的配置。
编写环境:VS2010我的博客地址是http://blog.csdn.net/zhmxy555,源码结合配套文章一起看效果更佳。
希望能和大家一起交流,共同学习,共同进步。
2024/7/29 14:44:42 10.67MB DirectX Win32 C++ Direct3D
1
新员工入职培训模板
2024/7/29 11:36:35 5.74MB 新员工入职培训模板
1
C#写的TCP服务器端程序,支持多个TCP客户端连入,程序当中有一个监听进程不断监听来自客户端的TCP连接请求,请求建立后交由一个专门的处理进程来处理接收到的数据(在本程序当中只是简单的将收到的数据返回给客户端)。
全部源代码。
1
基于NET2.0编写的类库在以下系统自带的控件中强化功能:【Button】开启自适应微软雅黑字体,如果可以将尝试使用微软雅黑字体而不是丑陋的宋体【CheckBox】开启自适应微软雅黑字体,如果可以将尝试使用微软雅黑字体而不是丑陋的宋体新增鼠标单击、移入、移出颜色变化功能,在属性表中可以找到【Label】开启自适应微软雅黑字体,如果可以将尝试使用微软雅黑字体而不是丑陋的宋体新增鼠标单击、移入、移出颜色变化功能,在属性表中可以找到【Panel】大幅减少控件移动、背景变换时的闪烁,重写OnPaint开启双缓冲【PictureBox】大幅减少控件移动、背景变换时的闪烁,重写OnPaint开启双缓冲新增鼠标单击、移入、移出图片改变功能,在属性表中可以找到【RadioButton】开启自适应微软雅黑字体,如果可以将尝试使用微软雅黑字体而不是丑陋的宋体新增鼠标单击、移入、移出颜色变化功能,在属性表中可以找到以上控件所有方法、用法与系统控件一至,完全继承自系统控件。
使用方法:工具箱右键选择DLL即可
2024/7/27 11:50:36 8KB PictureBox闪
1
因为空气质量的恶化,阴霾天气现象出现增多,危害现象加重。
中国不少地区把阴霾天气现象并入雾一起作为灾害性天气预警预报。
统称为“雾霾天气”。
雾霾主要由PM2.5、PM10、PM0.1以及重金属镍砷铬铅等颗粒组成。
有关雾霾的重大事件层出不穷,如1952年伦敦烟雾事件,伦敦杀人雾在四天内夺走了4000多条人命;
还有2013年初北京肆虐横行的雾霾事件,轰动一时。
因此,对PM2.5的测量显得越来越重要。
本设计采用STC89C51单片机为控制中心,由GP2Y1010AU0F灰尘传感器测量空气粉尘浓度,LCD1602显示屏显示当前空气粉尘浓度。
并会根据设置好的报警值报警提示,对应颜色指示灯点亮,该系统电路简单、工作稳定、集成度高,调试方便,测试精度高,具有一定的实用价值。
关键字:PM2.5、单片机、粉尘浓度、GP2Y1010AU0F
2024/7/25 19:05:29 1.72MB 空气质量
1
定义全局线程池,将用户的请求放入自定义队列中,排队等候线程调用,等待超时则自动取消该任务,实现超时可取消的异步任务
1
IKM考试认证;
汇丰银行等等公司入职认证,进入500强门坎。
IKM考试认证;
汇丰银行等等公司入职认证,进入500强门坎。
IKM考试认证;
汇丰银行等等公司入职认证,进入500强门坎。
IKM考试认证;
汇丰银行等等公司入职认证,进入500强门坎。
2024/7/25 6:36:24 780KB ikm
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡