前两天在98上看到一个帖子 windows 8 没法和linux共存? 里面有一个概念就是EFI

什么是EFI?

EFI英文全称为Extensible Firmware Interface,中文译为可扩展固件接口,其主要目的是为了提供一组在 OS 加载之前(启动前)在 所有平台上一致的、正确指定的启动服务。EFI最初由Intel开发,并在2002年12月所发布1.1版,后来在2005年Intel将此规范交由UEFI论坛 来推广与发展,并更名为Unified EFI(UEFI)。

EFI是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,为替代BIOS的升级方案。可扩展固件接口(EFI)负责 加电自检(POST)、连系操作系统以及提供连接操作系统与硬件的接口。UEFI在EFI基础上增加与改进了加密编码(cryptography)、 网络认证(network authentication)与用户界面架构(User Interface Architecture)等方面的内容。EFI在软件层次中的位置如下图

In mathematics, the log sum inequality is very useful for proving several theorems in information theory.

1.Statements

Suppose ai and bi are nonnegative numbers. The log sum inequality states that

$\sum_{i=1}^{n}a_{i}log \frac{a_{i}}{b_{i}} \seq a log \frac{a}{b}$,
where $a=\sum a_{i}$ and $b=\sum b_{i}$. The equality established if and only if $a_{i}/b{i}$ are equal for all $i$.

2.Proof

(1)Convex functioin

In mathematics, a real-valued function F(x) defined on an interval is called convex (or convex downward or concave upward) if the graph of the function lies below the line segment joining any two points of the graph. Equivalently, a function is convex if its epigraph (the set of points on or above the graph of the function) is a convex set.

1.Gaussian Mixture Models(GMM)

For a D-dimensional feature vector, x, the mixture density used for the likelihood function is defined as

$p(x|\lambda) = \sum_{i=1}^{M}w_{i}p_{i}(x)$.

The density is a weighted linear combination of $M$ unimodal Gaussian densities , $p_{i}(x)$
$p_{i}(x) = \frac{1}{(2\pi)^{D/2}|\sum _{i}|^{1/2}} exp[-\frac{1}{2}(x-\mu_{i})^{T}(\sum _{i})^{-1}(x-\mu_{i})]$.

2.Support Vector Machines(SVM)

An SVM is a two-class classifier constructed from sums of a kernel function $K(• , •)$

$f(x) = \sum_{i=1}{N}\alpha_{i} t_{i} K(x,x_{i}) + d$.

$t_{i}$ are the ideal outputs, $\sum_{i=1}{N}\alpha_{i} t_{i}=0$ and $\alpha_{i} > 0$,$x_{i}$ are support vectors and obtained from the training set by an optimization process.
$K(. , .)$ is constrained to have certain properties (the Mercer condition), so that it can be expressed as
$K(x,y) = b(x)^{T} b(y)$.

Kernel function examples: http://www.shamoxia.com/html/y2010/2292.html

1.说话人分类常用算法

说话人分类是说话人识别中的一大主题,目前已经发展了很多方法,这些方法大致可以分为两类:
(1)基于概率分布的高复杂度的精确分类算法,如高斯混合模型(Gaussian Mixture Model,GMM)、隐马尔科夫 模型(Hidden Markov Model,HMM)和支持向量机(Support Vector Machine,SVM)模型;
(2)基于模板的低复杂度的分类算法,如向量量化方法(Vector Quantization,VQ)。
第一类说话人分类算法能取得不错的效果,但他们的高复杂度使得进行说话人识别需要很长时间,不适合于实时应用。 而第二类说话人匪类算法虽然复杂度低,但当系统中说话人的人数增加时,识别性能下降得很快。

Wu Junwen,Zhang Xuegong提出了一种基于PCA的分类器(即主成分子空间(Principal Component Subspace,PCS)分类器), 作为一种线性分类器,其复杂度低于以上第一类算法,又表现出很好的分类能力。另外,我们还可以根据截断误差子空间来构造分类器, 称为TES(Truncation Error Subspace)分类器。这两种分类器反映了主成分分析方法的两个方面,结合两种分类器可得到混合分类器, 称其为P&T分类器。

1.概述

Mel倒谱系数(Mel-frequency cepstral coefficients,MFCC)是受人的听觉系统研究成果推动而导出的声学特征。 研究发现,当两个音调的频率差小于临界带宽时,人就会把两个音调听成一个(屏蔽效应)。Mel刻度是对这一临界带宽的 度量方法之一, MFCC在语音识别领域应用广泛。本文详细介绍了Mel频率倒谱系数参数的6大提取步骤。

2.什么是Mel频率倒谱系数?

Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient)的缩写是MFCC,Mel频率是基于人耳听觉特性提出来的, 它与Hz频率成非线性对应关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。

用录音设备录制一段模拟语音信号后,经由自定的取样频率(如8000 Hz、16000 Hz等)采样后转换(A/D)为数字语音信号。 由于在时域(time domain)上语音信号的波形变化相当快速、不易观察,因此一般都会在频域(frequency domain)上来观察, 其频谱是随着时间而缓慢变化的,因此通常可以假设在一较短时间中,其语音信号的特性是稳定的,通常我们定义这个较短 时间为一帧(frame),根据人的语音的音调周期值的变化,一般取10~20ms。

1.概述

首先从随机变量的方差的性质讲起。
设$X$,$Y$是两个随机变量,$E(X)$,$E(Y)$,$D(X)$,$D(Y)$分别为各自的期望和方差,则有:

$D(X+Y)=D(X)+D(Y)+2E{(X-E(X))(Y-E(Y))} $. (1)

特别的,当$X$,$Y$相互独立时,有:
$D(X+Y)=D(X)+D(Y) $. (2)

对比(1)式和(2)式知,$X$,$Y$相互独立时还应该有:
$E{(X-E(X))(Y-E(Y))} =0 $. (3)

这意味着当$E{(X-E(X))(Y-E(Y))}\neq 0$时,X与Y不相互独立,而是存在一定关系的。

2.相关系数和协方差

我们把$E{(X-E(X))(Y-E(Y))}$拿出来,单独定义一个概念,即协方差,记为$Cov(X,Y)$,即:

$Cov(X,Y)=E{(X-E(X))(Y-E(Y))} $. (4)


$\rho _{XY} = \frac{Cov(X,Y)}{\sqrt{DX}\sqrt{DY}}$. (5)

称为随机变量$X$,$Y$的相关系数
将$Cov(X,Y)$的定义式展开,易得:
$Cov(X,Y)=E(XY)-E(X)E(Y)$. (6)

我们常常用这一式子计算协方差

1.概述

互联网发展早期的搜索引擎,对web页面的排序,是根据搜索的词组(短语)在页面中的出现次数(occurence ), 并用页面长度和html标签的重要性提示等进行权重修订。链接名气(link popularity)技术通过其它文档链接到当前 页面(inbound links)的链接数量来决定当前页的重要性,这样可以有效地抵制被人为加工的页面欺骗搜索引擎的手法。

PageRank(网页级别),2001年9月被授予美国专利,专利人是Google创始人之一拉里•佩奇(Larry Page)。因此,PageRank里 的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。它是Google排名运算法则(排名公式)的一部分,是Google用于 用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站的好坏的重要标准之一。PageRank计算页面的重要性,对每个 链入(inbound)赋以不同的权值,链接提供页面的越重要则此链接入越高。当前页的重要性,是由其它页面的重要性决定的。 在揉合了诸如Title标识和Keywords标识等所有其它因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页 在搜索结果中令网站排名获得提升,从而提高搜索结果的相关性和质量。

1.计算向量、矩阵化,尽量减少for循环
因为MATLAB本来就是矩阵实验室的意思,他提供了极其强大而灵活的矩阵运算能力,你就没必要自己再用自己编写的for循环去实现矩阵运算的功能了。 另外由于matlab是一种解释性语言,所以最忌讳直接使用循环语句。但在有些情况下,使用for循环可以提高程序的易读性,在效率提高不是很明显的 情况下可以选择使用for循环。

2.循环内大数组预先定义--预先分配空间
这一点原则是极其重要的,以至于在编写m程序时编辑器会给出提示“'ver' might be growing inside a loop.Consider prealloacting for speed.”

3.尽可能利用matlab内部提供的函数
因为matlab内部提供的函数绝对是各种问题的最优算法,那写程序都是他们大师级人物写出来的,程序应该说相当高效,有现成的为什么不用那! 这个原则就不用实际的程序测试了。

4. 利用内置函数自动记录运行结果
matlab生成的结果变量只贮存在内存空间中,一旦matlab关闭则会丢失,很多时候需要手工将这些结果存储到我们需要的文件中。事实上,matlab提供 了很多函数可以自动记录结果,如fprintf可以将数据写入txt文件,xlswrite可以将数据写入excel文件等等。这样自动化的命令可以缩减大量时间, 从而提高效率。

5. 在迫不得已要使用较多循环而每一步都很耗时的时候,可以将每一步的结果保存成mat文件,然后在循环的开头用if语句与exist函数进行判断, 如果该文件存在的话,就直接进入下一次循环。这样做的好处是不会因为断电、电脑死机或误操作等原因而重头从第一个循环再次运行。

6. 同时运行多的matlab进程。现在的电脑一般都是多核,一般一个matlab进程会占用一个cpu,因此可以在多核电脑上同时打开多个matlab窗口, 从而执行不同的命令。如四核电脑上可以打开三个matlab窗口分别运行不同的程序,cpu的占用率约为80%,这样既加快了进度,又不会影响电脑的使用。

11年浙大研究生复试机试题解

A题:A+B for Matrices ( 九度1001)

水题

Problem A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
int m,n,a[10][10],b[10][10];
int main()
{
    int i,j,cnt;
    while(scanf("%d",&m)&&m>0){
        scanf("%d",&n);
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
                scanf("%d",a[i]+j);
        for(i=0;i<m;i++)
            for(j=0;j<n;j++){
                scanf("%d",b[i]+j);
                a[i][j]+=b[i][j];
            }
        cnt=0;
        for(i=0;i<m;i++){
            for(j=0;j<n;j++)
                if(a[i][j])break;
            if(j==n)cnt++;
        }
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)
                if(a[j][i])break;
            if(j==m)cnt++;
        }
        printf("%d\n",cnt);
    }
    return 0;
}

10年浙大研究生复试机试题解

A题:A+B(hdoj3787)(九度1003)

水题,不解释,直接上代码:

Problem A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
long a,b;
int main()
{
    int i,f;
    char s[30];
    while(scanf("%s",s)!=EOF){
        a=b=0;
        if(s[0]=='-'){f=-1;i=1;}
        else {f=1;i=0;}
        while(s[i]){
            if(s[i]!=',')a=a*10+s[i]-'0';
            i++;
        }
        a=a*f;
        getchar();
        scanf("%s",s);
        if(s[0]=='-'){f=-1;i=1;}
        else {f=1;i=0;}
        while(s[i]){
            if(s[i]!=',')b=b*10+s[i]-'0';
            i++;
        }
        b=b*f;
        printf("%d\n",a+b);
    }
    return 0;
}