导航:首页 > 源码编译 > 算法th

算法th

发布时间:2023-01-16 16:18:21

单片机的TH和TL应怎么理解和怎么用(C语言)

TH,TL是定时中断中写初始值用的,定时器T0,T1定时中分别对应TH0/TL0和TH1/TL1,初始值是把需要定时的十进制时间写成单片机中16进制机器时间,当然并不是把十进制直接改成十六进制,机器周期时间不全相同,初始值可以根据自己的需要选用不同的算法,(比如需要产生1ms的方波,即500us的高电平,500us的低电平,如果你选用T0方式0产生500us定时,晶振fosc=12MHz,那么初始值是F00CH,把0CH写入TL0,把0F0H写入TH0。计数初值可能有误,我根据自己的记忆算的,反正根据自己的需要算吧~~~)编好程序后,单片机会自动根据初始值计时,根据需要进行高低脉冲转换,然后由脉冲的改变产生中断。

⑵ 分割算法

x没有定义就使用了,定义一下,
要不然把Seg=zeros(x,y)
那句话不要了,只是一个初始化的命令,好像可以不要

⑶ Dijkstrath算法是什么如何用Dijkstrath算法求计算机网络拓扑图的最短路径

Dijkstra算法是典型 的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。
迪杰斯特拉(Dijkstra)算法思想
按路径长度递增次序产生最短路径算法:

把V分成两组:

(1)S:已求出最短路径的顶点的集合

(2)V-S=T:尚未确定最短路径的顶点集合

将T中顶点按最短路径递增的次序加入到S中,

保证:(1)从源点V0到S中各顶点的最短路径长度都不大于

从V0到T中任何顶点的最短路径长度

(2)每个顶点对应一个距离值

S中顶点:从V0到此顶点的最短路径长度

T中顶点:从V0到此顶点的只包括S中顶点作中间

顶点的最短路径长度

依据:可以证明V0到T中顶点Vk的最短路径,或是从V0到Vk的

直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和

(反证法可证)

求最短路径步骤
算法步骤如下:

1. 初使时令 S={V0},T={其余顶点},T中顶点对应的距离值

若存在<V0,Vi>,d(V0,Vi)为<V0,Vi>弧上的权值

若不存在<V0,Vi>,d(V0,Vi)为∝

2. 从T中选取一个其距离值为最小的顶点W且不在S中,加入S

3. 对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的

距离值缩短,则修改此距离值

重复上述步骤2、3,直到S中包含所有顶点,即W=Vi为止

⑷ 【目标检测算法解读】yolo系列算法二

https://blog.csdn.net/Gentleman_Qin/article/details/84349144

|声明:遵循CC 4.0 BY-SA版权协议

    建立在YOLOv1的基础上,经过Joseph Redmon等的改进,YOLOv2和YOLO9000算法在2017年CVPR上被提出,并获得最佳论文提名,重点解决YOLOv1召回率和定位精度方面的误差。在提出时,YOLOv2在多种监测数据集中都要快过其他检测系统,并可以在速度与精确度上进行权衡。

    YOLOv2采用Darknet-19作为特征提取网络,增加了批量标准化(Batch Normalization)的预处理,并使用224×224和448×448两阶段训练ImageNet,得到预训练模型后fine-tuning。

    相比于YOLOv1是利用FC层直接预测Bounding Box的坐标,YOLOv2借鉴了FSR-CNN的思想,引入Anchor机制,利用K-Means聚类的方式在训练集中聚类计算出更好的Anchor模板,在卷积层使用Anchor Boxes操作,增加Region Proposal的预测,同时采用较强约束的定位方法,大大提高算法召回率。同时结合图像细粒度特征,将浅层特征与深层特征相连,有助于对小尺寸目标的检测。 

    下图所示是YOLOv2采取的各项改进带了的检测性能上的提升:

    YOLO9000 的主要检测网络也是YOLO v2,同时使用WordTree来混合来自不同的资源的训练数据,并使用联合优化技术同时在ImageNet和COCO数据集上进行训练,目的是利用数量较大的分类数据集来帮助训练检测模型,因此,YOLO 9000的网络结构允许实时地检测超过9000种物体分类,进一步缩小了检测数据集与分类数据集之间的大小代沟。

    下面将具体分析YOLOv2的各个创新点:

BN概述:

    对数据进行预处理(统一格式、均衡化、去噪等)能够大大提高训练速度,提升训练效果。BN正是基于这个假设的实践,对每一层输入的数据进行加工。

    BN是2015年Google研究员在论文《Batch Normalization: Accelerating Deep Network Training by Recing Internal Covariate Shift》一文中提出的,同时也将BN应用到了2014年的GoogLeNet上,也就是Inception-v2。

    BN层简单讲就是对网络的每一层的输入都做了归一化,这样网络就不需要每层都去学数据的分布,收敛会更快。YOLOv1算法(采用的是GoogleNet网络提取特征)是没有BN层的,而在YOLOv2中作者为每个卷积层都添加了BN层。

    使用BN对网络进行优化,让网络提高了收敛性,同时还消除了对其他形式的正则化(regularization)的依赖,因此使用BN后可以从模型中去掉Dropout,而不会产生过拟合。

BN优点:

神经网络每层输入的分布总是发生变化,加入BN,通过标准化上层输出,均衡输入数据分布,加快训练速度,因此可以设置较大的学习率(Learning Rate)和衰减(Decay);

通过标准化输入,降低激活函数(Activation Function)在特定输入区间达到饱和状态的概率,避免梯度弥散(Gradient Vanishing)问题;

输入标准化对应样本正则化,BN在一定程度上可以替代 Dropout解决过拟合问题。

BN算法:

    在卷积或池化之后,激活函数之前,对每个数据输出进行标准化,方式如下图所示:

    公式很简单,前三行是 Batch内数据归一化(假设一个Batch中有每个数据),同一Batch内数据近似代表了整体训练数据。第四行引入了附加参数 γ 和 β,此二者的取值算法可以参考BN论文,在此不再赘述。

    fine-tuning:用已经训练好的模型,加上自己的数据集,来训练新的模型。即使用别人的模型的前几层,来提取浅层特征,而非完全重新训练模型,从而提高效率。一般新训练模型准确率都会从很低的值开始慢慢上升,但是fine-tuning能够让我们在比较少的迭代次数之后得到一个比较好的效果。

    YOLO模型分为两部分,分类模型和检测模型,前者使用在ImageNet上预训练好的模型,后者在检测数据集上fine-tuning。

    YOLOv1在预训练时采用的是224*224的输入(在ImageNet数据集上进行),然后在检测的时候采用448*448的输入,这会导致从分类模型切换到检测模型的时候,模型还要适应图像分辨率的改变。

    YOLOv2则将预训练分成两步:先用224*224的输入在ImageNet数据集训练分类网络,大概160个epoch(将所有训练数据循环跑160次)后将输入调整到448*448,再训练10个epoch(这两步都是在ImageNet数据集上操作)。然后利用预训练得到的模型在检测数据集上fine-tuning。这样训练得到的模型,在检测时用448*448的图像作为输入可以顺利检测。

    YOLOv1将输入图像分成7*7的网格,每个网格预测2个Bounding Box,因此一共有98个Box,同时YOLOv1包含有全连接层,从而能直接预测Bounding Boxes的坐标值,但也导致丢失较多的空间信息,定位不准。

    YOLOv2首先将YOLOv1网络的FC层和最后一个Pooling层去掉,使得最后的卷积层可以有更高分辨率的特征,然后缩减网络,用416*416大小的输入代替原来的448*448,使得网络输出的特征图有奇数大小的宽和高,进而使得每个特征图在划分单元格(Cell)的时候只有一个中心单元格(Center Cell)。

    为什么希望只有一个中心单元格呢?由于图片中的物体都倾向于出现在图片的中心位置,特别是比较大的物体,所以有一个单元格单独位于物体中心的位置用于预测这些物体。

    YOLOv2通过引入Anchor Boxes,通过预测Anchor Box的偏移值与置信度,而不是直接预测坐标值。YOLOv2的卷积层采用32这个值来下采样图片,所以通过选择416*416用作输入尺寸最终能输出一个13*13的特征图。若采用FSRCNN中的方式,每个Cell可预测出9个Anchor Box,共13*13*9=1521个(YOLOv2确定Anchor Boxes的方法见是维度聚类,每个Cell选择5个Anchor Box)。

    在FSRCNN中,以一个51*39大小的特征图为例,其可以看做一个尺度为51*39的图像,对于该图像的每一个位置,考虑9个可能的候选窗口:3种面积3种比例。这些候选窗口称为Anchor Boxes。下图示出的是51*39个Anchor Box中心,以及9种Anchor Box示例。

YOLOv1和YOLOv2特征图数据结构:

YOLOv1:S*S* (B*5 + C) => 7*7(2*5+20)

    其中B对应Box数量,5对应边界框的定位信息(w,y,w,h)和边界框置信度(Confidience)。分辨率是7*7,每个Cell预测2个Box,这2个Box共用1套条件类别概率(1*20)。

YOLOv2:S*S*K* (5 + C) => 13*13*9(5+20)

    分辨率提升至13*13,对小目标适应性更好,借鉴了FSRCNN的思想,每个Cell对应K个Anchor box(YOLOv2中K=5),每个Anchor box对应1组条件类别概率(1*20)。

    聚类:聚类是指事先没有“标签”而通过某种成团分析找出事物之间存在聚集性原因的过程。即在没有划分类别的情况下,根据数据相似度进行样本分组。

    在FSR-CNN中Anchor Box的大小和比例是按经验设定的,然后网络会在训练过程中调整Anchor Box的尺寸,最终得到准确的Anchor Boxes。若一开始就选择了更好的、更有代表性的先验Anchor Boxes,那么网络就更容易学到准确的预测位置。

    YOLOv2使用K-means聚类方法类训练Bounding Boxes,可以自动找到更好的宽高维度的值用于一开始的初始化。传统的K-means聚类方法使用的是欧氏距离函数,意味着较大的Anchor Boxes会比较小的Anchor Boxes产生更多的错误,聚类结果可能会偏离。由于聚类目的是确定更精准的初始Anchor Box参数,即提高IOU值,这应与Box大小无关,因此YOLOv2采用IOU值为评判标准,即K-means 采用的距离函数(度量标准) 为:

d(box,centroid) = 1 - IOU(box,centroid)

    如下图,左边是聚类的簇个数和IOU的关系,两条曲线分别代表两个不同的数据集。分析聚类结果并权衡模型复杂度与IOU值后,YOLOv2选择K=5,即选择了5种大小的Box 维度来进行定位预测。

    其中紫色和灰色也是分别表示两个不同的数据集,可以看出其基本形状是类似的。更重要的是,可以看出聚类的结果和手动设置的Anchor Box位置和大小差别显着——结果中扁长的框较少,而瘦高的框更多(更符合行人的特征)。

    YOLOv2采用的5种Anchor的Avg IOU是61,而采用9种Anchor Boxes的Faster RCNN的Avg IOU是60.9,也就是说本文仅选取5种box就能达到Faster RCNN的9中box的效果。选择值为9的时候,AVG IOU更有显着提高。说明K-means方法的生成的boxes更具有代表性。

    直接对Bounding Boxes求回归会导致模型不稳定,其中心点可能会出现在图像任何位置,有可能导致回归过程震荡,甚至无法收敛,尤其是在最开始的几次迭代的时候。大多数不稳定因素产生自预测Bounding Box的中心坐标(x,y)位置的时候。

    YOLOv2的网络在特征图(13*13)的每一个单元格中预测出5个Bounding Boxes(对应5个Anchor Boxes),每个Bounding Box预测出5个值(tx,ty,tw,th,t0),其中前4个是坐标偏移值,t0是置信度结果(类似YOLOv1中的边界框置信度Confidence)。YOLOv2借鉴了如下的预测方式,即当Anchor Box的中心坐标和宽高分别是(xa,ya)和(wa,wh)时,Bounding Box坐标的预测偏移值(tx,ty,tw,th)与其坐标宽高(x,y,w,h)的关系如下:                         

tx = (x-xa)/wa

ty= (y-ya)/ha

tw = log(w/wa)

th = log(h/ha)

    基于这种思想,YOLOv2在预测Bounding Box的位置参数时采用了如下强约束方法:

    上图中,黑色虚线框是Anchor Box,蓝色矩形框就是预测的Bounding Box结果,预测出的Bounding Box的坐标和宽高为(bx,by)和(bw,bh),计算方式如图中所示,其中:对每个Bounding Box预测出5个值(tx,ty,tw,th,t0),Cell与图像左上角的横纵坐标距离为(cx,cy),σ定义为sigmoid激活函数(将函数值约束到[0,1]),该Cell对应的Anchor Box对应的宽高为(pw,ph)。

    简而言之,(bx,by)就是(cx,cy)这个Cell附近的Anchor Box针对预测值(tx,ty)得到的Bounding Box的坐标预测结果,同时可以发现这种方式对于较远距离的Bounding Box预测值(tx,ty)能够得到很大的限制。

    YOLOv2通过添加一个转移层,把高分辨率的浅层特征连接到低分辨率的深层特征(把特征堆积在不同Channel中)而后进行融合和检测。具体操作是先获取前层的26*26的特征图,将其同最后输出的13*13的特征图进行连接,而后输入检测器进行检测(检测器的FC层起到了全局特征融合的作用),以此来提高对小目标的检测能力。    

    为了适应不同尺度下的检测任务,YOLOv2在训练网络时,其在检测数据集上fine-tuning时候采用的输入图像的size是动态变化的。具体来讲,每训练10个Batch,网络就会随机选择另一种size的输入图像。因为YOLOv2用到了参数是32的下采样,因此也采用32的倍数作为输入的size,即采用{320,352,…,608}的输入尺寸(网络会自动改变尺寸,并继续训练的过程)。

这一策略让网络在不同的输入尺寸上都能达到较好的预测效果,使同一网络能在不同分辨率上进行检测。输入图片较大时,检测速度较慢,输入图片较小时,检测速度较快,总体上提高了准确率,因此多尺度训练算是在准确率和速度上达到一个平衡。

    上表反映的是在检测时,不同大小的输入图片情况下的YOLOv2和其他目标检测算法的对比。可以看出通过多尺度训练的检测模型,在测试的时候,输入图像在尺寸变化范围较大的情况下也能取得mAP和FPS的平衡。

    YOLOv1采用的训练网络是GoogleNet,YOLOv2采用了新的分类网络Darknet-19作为基础网络,它使用了较多的3*3卷积核,并把1*1的卷积核置于3*3的卷积核之间,用来压缩特征,同时在每一次池化操作后把通道(Channels)数翻倍(借鉴VGG网络)。

    YOLOv1采用的GooleNet包含24个卷积层和2个全连接层,而Darknet-19包含19个卷积层和5个最大池化层(Max Pooling Layers),后面添加Average Pooling层(代替v1中FC层),而Softmax分类器作为激活被用在网络最后一层,用来进行分类和归一化。

    在ImageNet数据集上进行预训练,主要分两步(采用随机梯度下降法):

输入图像大小是224*224,初始学习率(Learning Rate)为0.1,训练160个epoch,权值衰减(Weight Decay)为0.0005,动量(Momentum)为0.9,同时在训练时采用标准的数据增强(Data Augmentation)方式如随机裁剪、旋转以及色度、亮度的调整。

fine-tuning:第1步结束后,改用448*448输入(高分辨率模型),学习率改为0.001,训练10个epoch,其他参数不变。结果表明:fine-tuning后的top-1准确率为76.5%,top-5准确率为93.3%,若按照原来的训练方式,Darknet-19的top-1准确率是72.9%,top-5准确率为91.2%。可以看出,两步分别从网络结构和训练方式方面入手提高了网络分类准确率。

    预训练之后,开始基于检测的数据集再进行fine-tuning。    

    首先,先把最后一个卷积层去掉,然后添加3个3*3的卷积层,每个卷积层有1024个卷积核,并且后面都连接一个1*1的卷积层,卷积核个数(特征维度)根据需要检测的类数量决定。(比如对VOC数据,每个Cell需要预测5个Boungding Box,每个Bounding Box有4个坐标值、1个置信度值和20个条件类别概率值,所以每个单元格对应125个数据,此时卷积核个数应该取125。)

    然后,将最后一个3*3*512的卷积层和倒数第2个卷积层相连(提取细粒度特征),最后在检测数据集上fine-tuning预训练模型160个epoch,学习率采用0.001,并且在第60和90个epoch的时候将学习率除以10,权值衰减、动量和数据增强方法与预训练相同。

    YOLO9000通过结合分类和检测数据集,使得训练得到的模型可以检测约9000类物体,利用带标注的分类数据集量比较大的特点,解决了带标注的检测数据集量比较少的问题。具体方法是:一方面采用WordTree融合数据集,另一方面联合训练分类数据集和检测数据集。

    分类数据集和检测数据集存在较大差别:检测数据集只有粗粒度的标记信息,如“猫”、“狗”,而分类数据集的标签信息则更细粒度,更丰富。比如“狗”就包括“哈士奇”、“金毛狗”等等。所以如果想同时在检测数据集与分类数据集上进行训练,那么就要用一种一致性的方法融合这些标签信息。

    用于分类的方法,常用Softmax(比如v2),Softmax意味着分类的类别之间要互相独立的,而ImageNet和COCO这两种数据集之间的分类信息不相互独立(ImageNet对应分类有9000种,而COCO仅提供80种目标检测),所以使用一种多标签模型来混合数据集,即假定一张图片可以有多个标签,并且不要求标签之间独立,而后进行Softmax分类。

    由于ImageNet的类别是从WordNet选取的,作者采用以下策略重建了一个树形结构(称为WordTree):

遍历ImageNet的标签,然后在WordNet中寻找该标签到根节点(所有的根节点为实体对象)的路径;

如果路径只有一条,将该路径直接加入到WordTree结构中;

否则,从可选路径中选择一条最短路径,加入到WordTree结构中。

WordTree的作用就在于将两种数据集按照层级进行结合。

    如此,在WordTree的某个节点上就可以计算该节点的一些条件概率值,比如在terrier这个节点,可以得到如下条件概率值:

    进而,如果要预测此节点的概率(即图片中目标是Norfolk terrier的概率),可以根据WordTree将该节点到根节点的条件概率依次相乘得到,如下式:

其中:        

    YOLO9000在WordTree1k(用有1000类别的ImageNet1k创建)上训练了Darknet-19模型。为了创建WordTree1k作者添加了很多中间节点(中间词汇),把标签由1000扩展到1369。

    训练过程中GroundTruth标签要顺着向根节点的路径传播:为了计算条件概率,模型预测了一个包含1369个元素的向量,而且基于所有“同义词集”计算Softmax,其中“同义词集”是同一概念下的所属词。

    现在一张图片是多标记的,标记之间不需要相互独立。在训练过程中,如果有一个图片的标签是“Norfolk terrier”,那么这个图片还会获得“狗”以及“哺乳动物”等标签。

    如上图所示,之前的ImageNet分类是使用一个大Softmax进行分类,而现在WordTree只需要对同一概念下的同义词进行Softmax分类。然后作者分别两个数据集上用相同训练方法训练Darknet-19模型,最后在ImageNet数据集上的top-1准确率为72.9%,top-5准确率为91.2%;在WordTree数据集上的top-1准确率为71.9%,top-5准确率为90.4%。

    这种方法的好处是有“退而求其次”的余地:在对未知或者新的物体进行分类时,性能损失更低,比如看到一个狗的照片,但不知道是哪种种类的狗,那么就预测其为“狗”。

    以上是构造WordTree的原理,下图是融合COCO数据集和ImageNet数据集以及生成它们的WordTree的示意图(用颜色区分了COCO数据集和ImageNet数据集的标签节点), 混合后的数据集对应的WordTree有9418个类。另一方面,由于ImageNet数据集太大,YOLO9000为了平衡两个数据集之间的数据量,通过过采样(Oversampling)COCO数据集中的数据,使COCO数据集与ImageNet数据集之间的数据量比例达到1:4。

    对YOLO9000进行评估,发现其mAP比DPM高,而且YOLO有更多先进的特征,YOLO9000是用部分监督的方式在不同训练集上进行训练,同时还能检测9000个物体类别,并保证实时运行。虽然YOLO9000对动物的识别性能很好,但是对衣服或者装备的识别性能不是很好(这跟数据集的数据组成有关)。

    YOLO9000的网络结构和YOLOv2类似,区别是每个单元格只采用3个Anchor Boxes。

    YOLO9000提出了一种在分类数据集和检测数据集上联合训练的机制,即使用检测数据集(COCO)的图片去学习检测相关的信息即查找对象(例如预测边界框坐标、边界框是否包含目标及目标属于各个类别的概率),使用仅有类别标签的分类数据集(ImageNet)中的图片去扩展检测到的对象的可识别种类。

    具体方法是:当网络遇到一个来自检测数据集的图片与标记信息,就把这些数据用完整的损失函数(v2和9000均沿用了v1网络的损失函数)反向传播,而当网络遇到一个来自分类数据集的图片和分类标记信息,只用代表分类误差部分的损失函数反向传播这个图片。

    YOLO v2 在大尺寸图片上能够实现高精度,在小尺寸图片上运行更快,可以说在速度和精度上达到了平衡,具体性能表现如下所示。

coco数据集

voc2012数据集

⑸ 偏最小二乘法的计算方法

首先将数据做标准化处理。X经标准化处理后的数据矩阵记为E0=( E01,…,E0p)n×p,Y的相应矩阵记为F0=( F01,…,F0q)n×q。
第一步 记t 1是E0的第一个成分,t 1= E0w1,w1是E0的第一个轴,它是一个单位向量,即|| w1||=1。
记u 1是F0的第一个成分,u 1= F0c1,c1是F0的第一个轴,并且|| c1||=1。
于是,要求解下列优化问题,即
(7-1)
记θ1= w1'E0'F0c1,即正是优化问题的目标函数值。
采用拉格朗日算法,可得
(7-8) E0'F0F0'E0w1=θ12 w1
(7-9) F0'E0E0'F0c1=θ12 c1
所以,w1是对应于E0'F0F0'E0矩阵最大特征值的单位特征向量,而c1是对应于F0'E0E0'F0矩阵最大特征值θ12的单位特征向量。
求得轴w1和c1后,即可得到成分
t 1= E0w1
u 1= F0c1
然后,分别求E0和F0对t 1的回归方程
(7-10) E0= t 1 p1'+ E1
(7-12) F0= t 1r1'+ F1
式中,回归系数向量是
(7-13) p1= E0' t 1/|| t 1||2
(7-15) r1= F0' t 1/|| t 1||2
而E1和F1分别是两个方程的残差矩阵。
第二步 用残差矩阵E1和F1取代E0和F0,然后,求第二个轴w2和c2以及第二个成分t2,u2,有
t 2= E1w2
u 2= F1c2
θ2=< t2, u2>= w2'E1'F1c2
w2是对应于E1'F1F1'E1矩阵最大特征值的单位特征向量,而c2是对应于F1'E1E1'F1矩阵最大特征值θ22的单位特征向量。计算回归系数
p2= E1' t 2/|| t 2||2
r2= F1' t 2/|| t2||2
因此,有回归方程
E1= t 2 p2'+ E2
F1= t 2r2'+ F2
如此计算下去,如果X的秩是A,则会有
(7-16) E0= t 1 p1'+…+t A pA'
(7-17) F0= t 1r1'+ …+t A rA'+ FA
由于t1,…,t A均可以表示成E01,…,E0p的线性组合,因此,式(7-17)还可以还原成yk*= F0k关于xj*= E0j的回归方程形式,即
yk*=αk1 x1*+…+αkp xp*+ FAk, k=1,2,…,q
FAk是残差矩阵FA的第k列。
3 交叉有效性
如果多一个成分而少一个样本的预测误差平方和(所有因变量和预测样本相加)除以少一个成分的误差平方和(所有的因变量和样本相加)小于0.952,则多一个成分是值得的。 用下述原则提取自变量中的成分t 1,是与原则式(7-1)的结果完全等价的,即
(7-24)
(1)求矩阵E0'F0F0'E0最大特征值所对应的单位特征向量w1,求成分t 1,得
t 1= E0w1
E1= E0-t 1 p1'
式中, p1= E0' t 1/|| t 1||2
(2)求矩阵E1'F0F0'E1最大特征值所对应的单位特征向量w2,求成分t2,得
t 2= E1w2
E2= E1-t 2 p2'
式中, p2= E1' t 2/|| t2||2
……
(m)至第m步,求成分tm= Em-1wm,wm是矩阵Em-1'F0F0'Em-1最大特征值所对应的单位特征向量.
如果根据交叉有效性,确定共抽取m个成分t1,…,tm可以得到一个满意的观测模型,则求F0在t1,…,tm上的普通最小二乘回归方程为
F0= t 1r1'+ …+t mrm'+ Fm
偏最小二乘回归的辅助分析技术
1 精度分析
定义自变量成分th的各种解释能力如下
(1)th对某自变量xj的解释能力
(8-1) Rd(xj; th)=r2(xj, th)
(2)th对X的解释能力
(8-2) Rd(X; th)=[r2(x1, th) + …+ r2(xp, th)]/p
(3)t1,…,tm对X的累计解释能力
(8-3) Rd(X; t1,…,tm)= Rd(X; t1) + …+ Rd(X; tm)
(4)t1,…,tm对某自变量xj的累计解释能力
(8-4) Rd(xj; t1,…,tm)= Rd(xj; t1) + …+ Rd(xj; tm)
(5)th对某因变量yk的解释能力
(8-5) Rd(yk; th)=r2(yk, th)
(6)th对Y的解释能力
(8-6) Rd(Y; th)=[r2(y1, th) + …+ r2(yq, th)]/q
(7)t1,…,tm对Y的累计解释能力
(8-7) Rd(Y; t1,…,tm)= Rd(Y; t1) + …+ Rd(Y; tm)
(8)t1,…,tm对某因变量yk的累计解释能力
(8-8) Rd(yk; t1,…,tm)= Rd(yk; t1) + …+ Rd(yk; tm)
2 自变量x j在解释因变量集合Y的作用
x j在解释Y时作用的重要性,可以用变量投影重要性指标VIP j来测度
VIP j 2=p[Rd(Y; t1) w1j2+ …+ Rd(Y; tm) wmj2]/[Rd(Y; t1) + …+ Rd(Y; tm)]
式中,whj是轴wh的第j个分量。注意 VIP1 2+ …+ VIP p2=p
3 特异点的发现
定义第i个样本点对第h成分th的贡献率Thi2,用它来发现样本点集合中的特异点,即
(8-10) Thi2=thi2/((n-1)s h2)
式中,s h2是成分th的方差。
由此,还可以测算样本点i对成分t1,…,tm的累计贡献率
(8-11) Ti2= T1i2+ …+ Tmi2

Ti2≥m(n2-1)F0.05(m,n-m)/(n2 (n-m))
时,可以认为在95%的检验水平上,样本点i对成分t1,…,tm的贡献过大。
单因变量的偏最小二乘回归模型
1 简化算法
第一步 已知数据E0,F0,由于u 1= F0,可得
w1= E0'F0/|| E0'F0||
t 1= E0w1
p1= E0' t 1/|| t 1||2
E1= E0-t 1 p1'
检验交叉有效性。若有效,继续计算;否则只提取一个成分t 1。
第h步(h=2,…,m) 已知数据Eh-1,F0,有
wh= Eh-1'F0/|| Eh-1'F0||
t h= Eh-1wh
ph= Eh-1' t h/|| t h||2
Eh= Eh-1-th ph'
检验交叉有效性。若有效,继续计算h+1步;否则停止求成分的计算。
这时,得到m个成分t1,…,t m,实施F0在t1,…,t m上的回归,得
F0^= r1t 1+ …+ rmt m
由于t1,…,t m均是E0的线性组合,即
t h= Eh-1wh= E0wh*
所以F0^可写成E0的线性组合形式,即
F0^= r1 E0w1*+ …+ rm E0wm*= E0[r1 w1*+ …+ rm wm*]
最后,也可以变换成y对x1,…,x p的回归方程
y^= α0+α1x1+ …+αp xp

⑹ C++中分数求和的算法

#include
using
namespace
std;
int
MaxFactor(int
nr,int
dr)//用来寻找最大公因子,欧几里德算法
{
int
th=nr,tl=dr;
if(nr
{th=dr;tl=nr;}
if(th%tl==0)
return
tl;
else
return
MaxFactor(tl,th%tl);
}
int
main()
{
int
n1,n2,d1,d2;
int
nr,dr,t;
char
c;
cout<<"请分别输入两个分数,用a/b
c/d的形式"<
cin>>n1>>c>>d1;
cin>>n2>>c>>d2;
dr=d1*d2;//计算新分数的分母
nr=d1*n2+d2*n1;//计算新分数的分子
if(nr%dr==0)//结果如果是整数,就直接输出整数
cout<<"结果为:"<
else//否则先约分在输出最终结果
{
t=MaxFactor(nr,dr);//找最大公因子
dr/=t;
nr/=t;//分子分母分别约分至最简
cout<<"结果为:"<
}
return
0;
}

⑺ TH0=-50000/256;TH0=(65536-50000)/256分别什么意思

(65536-50000)=15536,换算成16进制就是3CB0H\x0d\x0a(65536-50000)/256的结果是3CH,即一个字的高位字节。\x0d\x0a而(65536-50000)%256的结果是B0H,即一个字的低字节。\x0d\x0a单片机TH0=(65536-50000)/256;就是将定时器0(TH0)高位字节付值3CH。

⑻ CAD里边的TH,CH,LH分别代表什么意思在线等!

TH台高,CH窗高(地面到窗台高度),LH是结构梁高,一般后面搭配一个LW是梁宽。

交互式图形显示软件用于图形显示的开窗、剪辑、观看,图形的变换、修改,以及相应的人机交互。CAD应用软件提供几何造型、特征计算、绘图等功能。

以完成面向机械、广告、建筑、电气各专业领域的各种专门设计。构造应用软件的四个要素是:算法 、数据结构、用户界面和数据管理。

(8)算法th扩展阅读:

工程工作站一般指具有超级小型机功能和三维图形处理能力的一种单用户交互式计算机系统。它有较强的计算能力,用规范的图形软件,有高分辨率的显示终端,可以联在资源共享的局域网上工作,已形成最流行的CAD系统。

个人计算机pc系统价格低廉,操作方便,使用灵活。80年代以后,pc机性能不断翻新,硬件和软件发展迅猛,加之图形卡、高分辨率图形显示器的应用,以及pc机网络技术的发展,由pc机构成的CAD 系统已大量涌现,而且呈上升趋势。

阅读全文

与算法th相关的资料

热点内容
安卓手机为什么看不到iso文件 浏览:578
用图片做文件夹图标 浏览:693
java正则表达式语法 浏览:865
美图秀在线压缩图片 浏览:184
苹果自带控制app是什么 浏览:906
孩子学编程怎么样 浏览:589
网络编程经典书籍 浏览:612
曲靖创建网站java程序员 浏览:690
256位加密中是什么意思 浏览:97
php多维数组去重 浏览:308
做程序员这一行储备人才怎么看 浏览:460
参加密逃文 浏览:327
苹果编程语言ios 浏览:763
求解病态系统常用的算法 浏览:993
驾校用的app叫什么 浏览:219
数控编程线的缠绕方法 浏览:972
安卓线性布局怎么设计计算器布局 浏览:24
拓本pdf 浏览:79
2017法硕指南pdf 浏览:295
linuxphp命令参数 浏览:425