现在我们回到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
PT1000分度表原始数据u32_tPT1000[1000]={1000.000,1000.391,1000.782,1001.172,1001.563,1001.954,1002.345,1002.736,1003.126,1003.517,1003.908
2024/7/27 9:50:50 7KB PT1000
1
本软件可以完美解压有密码的7z文件夹,并不会伤害原始文件。
2024/7/21 22:22:33 387KB 7z 解压缩
1
LZW就是通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩. LZW编码是基于1977年开发的LZ77算法为基础的。
LZ77编码算法的核心是查找从前向缓冲存储器开始的最长的匹配串。
LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编译表,然后用编译表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。
看起来和调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编译表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编译表
2024/7/21 8:35:58 2KB LZW编码
1
uni_app安卓插件的引入,列子,压缩包里面带有插件和uni_app原始项目,有需要的朋友,可以下载借鉴下,希望对你们有所帮助
2024/7/19 17:43:34 32.98MB uni_app uni 安卓插件封装
1
根据CT原始图像得到头骨各个方向的最大密度投影图像,matlab实现。
2024/7/19 1:10:02 1KB matlab 最大密度投影
1
根据原始影像和方位元素,利用水平影像纠正原理,生成无上下视差便于立体观测的“水平”影像对编程的要点: 读入内定向文件;
 读写影像;
 水平核线的计算;
 影像内插输出:立体影像对;
新的立体像对如何根据同名点计算出空间点坐标;
2024/7/18 17:46:40 2.23MB 核线影像
1
此字典解压后为8.13M,字典虽然不大,但却是非常强悍。
我在小区里用这个字典成功破解过三个wpe密码。
不敢独享,故发出来和各位大侠共同研究,学习。
只为国家发展多做贡献,提倡尊老爱幼,学习雷峰,好好学习,天天向上。
打倒小#日#本,还¥我钓%鱼……岛。
2024/7/16 16:28:08 2.32MB 万能破解无线
1
2021年1月完成的最新标准,通用训练课目考核成绩计算系统,对Excel表中的原始考核成绩批量计算。
包含仰卧起坐、蛇形跑、单杠引体向上、3000米,及身高、体重、体脂的体型计算,最后的综合总评。
适用于男、女所有年龄段,和各种海拔高度。
运行环境:Win764位操作系统MicrosoftOffice2007以上本软件无需安装,解压后直接运行training_performance.exe文件即可生成文件:计算结果.xlsx使用错误提示:1.海拔数据是输入数值,如“600”,而不是“0~2000”;
2.原始数据输入只有数值、时间两种格式,不要混合其它字符输入,比如“39(俯卧撑)”这样的输入是错误的,只输入数值“39”;
3.最后一行有效数据后面,不要有没有数据的有效行存在,会运行错误;
4.蛇形跑原始数据为精确到小数点后1位数据,如“19.8”,不要输入“19.76”,虽然Excel会自动四舍五入,但Excel自动处理后的19.8会造成运行错误。
1
SRILM源代码阅读笔记。
主要针对SRILM的ngram的训练,即ngram-count。
7个文件:1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具);
2.ngram-count.jpg:从语料训练出模型的主要流程;
3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的频度;
4.ngram.estimate.jpg:ngram-count的子流程,在词汇表和ngram频度的基础上计算ngram条件概率以及backoff权值的过程;
5.ngram.read.jpg:与训练无关,读取ARPA格式的语言模型的过程;
6.SRILM.uml:以上5个文件的原始图,以StarUML绘制(利用StarUML可直接编辑)7.SRILM.vsd:ngram-count相关的主要数据结构的内存布局+ngram条件概率计算公式的参数说明,以visio绘制(利用visio可直接编辑)
2024/7/15 8:41:17 4.87MB SRILM 源代码 分析 ngram
1
共 782 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡