当前位置: 亚洲城ca88 > ca88 > 正文

读书笔记ca88

时间:2019-09-27 01:05来源:ca88
第二章   新闻的代表和管理 写在从前 时光丰裕的话,能够从文末给出的参照他事他说加以考察链接中看看李正轩硕士摄像,本文是其授课资料整理。 根据等式 1   音信囤积 · 大多

ca88 1

第二章   新闻的代表和管理

写在从前

时光丰裕的话,能够从文末给出的参照他事他说加以考察链接中看看李正轩硕士摄像,本文是其授课资料整理。

根据等式

1   音信囤积

·大多Computer应用8位的块,或许字节(byte),作为最小的可寻址的内部存储器单位,并非探望内部存款和储蓄器中单独的位。

·机器级程序将内存视为一个非常大的字节数组,称为设想内存。内部存款和储蓄器的每一个字节都由贰个独一的数字来标记,称为它的地址,全数一点都不小希望地址的群集称为虚构地址空间。(只是一个展现给机器级程序的概念性影象)

基本概念

设(phi)实现$R^2 rightarrow R^3 $的映射,即
[(x_1, x_2) rightarrow (z_1, z_2,z_3) = (x_1^2,sqrt{x_1x_2},x_2^2) ]

对于数据遍及遵照(frac{x_1^2}{a^2} frac{x_2^2}{b^2}= 1),映射之后有:(frac{1}{a^2}z_1 0·z_2 frac{1}{b^2}z_3= 1)

数量的分割从长方形成了3维的平面。

由此,(phi)能够兑现低维到高维的照射,并能够线性划分。来看高维度的几何性质:

[<phi(x_1,x_2), phi(x_1',x_2')>= <(x_1^2,sqrt{x_1x_2},x_2^2)(x_1'^2,sqrt{x_1'x_2'},x_2'^2)> \=(x_1x_1' x_2x_2')^2 = <x, x'>^2 = kappa(x, x') ]

[cos(theta) = frac{<phi(x), phi(x')>}{||phi(x)|| ·||phi(x')||} = frac{kappa(x, x')}{sqrt{kappa (x, x)}sqrt{kappa (x', x')}}]

(kappa(x, x'))是核函数,落成了高演度内积降维到低维,然后掉用Kernel function就足以。仅仅是(kappa)就能够描述高维空间中的性质,而无需知道(phi)具体是如何映射的。


ca88 2

2   轻易概念

1)十六进制(0x,0X)

2)字数据大小

每台Computer都有三个字长,指明指针数据的标称大小。因为设想地址是以那样的一个字来编码的,所以字长决定的最重大的系统参数正是虚构地址空间的最大尺寸。如某机器字长为w位,虚构地址的范围为0~(2^w)-1(叁11人程序和60位程序分别:在于该程序时怎样编写翻译的,并非其运维的机械类型)

3)寻址和字节顺序

·指标的地点以及怎么样排列

·诸如:假如一个类型的int型的变量 x的地址为0x100,则x的(4)个字节将被积累在内部存款和储蓄器中的地方。

·小端法:最低有效字节在最前边的艺术

·大端法:最高有效字节在最前头的方法

(二进制代码不相配)

4)c语言中的运算

位级运算

逻辑运算

运动运算:机器帮衬二种样式的右移,即逻辑右移和算术右移。

逻辑右移:在左端补k个零。

算术右移:在左端补k个最高有效位的值。

(注:差非常的少具有的编写翻译器/机器组合都对有暗号数使用算术右移。对于无符号数,必需接纳逻辑右移。)

简短的分类器

训练集${(x_1, y_1), ...(x_n, y_n)} in R^d times {-1, 1} rightarrow {(phi(x_1), y_1), ...(phi(x_n), y_n)} in H times {-1, 1} $

正样本中央点:(c_ =frac{1}{m_ } sum_{{i|y_i = 1}} {phi(x_i)})
负样本中央点:(c_- =frac{1}{m_-} sum_{{i|y_i = -1}} {phi(x_i)})

着力点差向量:(w = c_ -c_-)
中心点:(c= frac{1}{2}(c_ c_-))

看清正类样本: (cos(theta) > 0 rightarrow <phi(x)-c, w> >0)
剖断负类样本:(cos(theta) < 0 rightarrow <phi(x)-c, w> <0)
即(begin{align}y = sgn(<phi(x)-c, w>)end{align})

因为(phi)还不领悟,所以上述判定还需进一步化简,

[<phi(x)-c, w> = w^T(phi(x)-c) = w^T phi(x)- w^Tc \ = {(c_ -c_-)}^T phi(x) - frac{1}{2}{(c_ -c_-)}^T(c_ c_-) \ begin{align}= (frac{1}{m_ } sum_{{i|y_i = 1}} {kappa(x, x_i)}- frac{1}{m_-} sum_{{i|y_i = -1}} {kappa(x, x_i)}) - b \ end{align}]


(phi)并不是早晚须求出去,只要领悟Kernel Function 就行。Kernel Function 需求知足个别半正定(finitely positive semi-definite)。对于给定的(phi),能够求出(kappa)总计特征空间的点积;对于给定的(kappa),能够找到一个(phi)构建特色空间H。


只要w = 4 数值范围在-8 ~ 7之间 2^w = 16

3   整数表示

用位来编码整数的二种方法:一种只好表示非负数,而另一种可以代表负数,零和正数。负数的界定比正数的限制大学一年级。

1)无符号数的编码

11--->[1011]; 双射;双向编码唯一性;

2)补码编码

最遍布的有标记数的管理器表示方法正是补码,将字的万丈有效位解释为负权。

B2T4([1011])=(-1)*2^3 0*2^2 1*2^1 1*2^0;

范围:-2^(w-1)~2^(w-1)-1;

双射,补码编码独一性。

注:-1与Umax有平等的位代表----一个全1的串。数值0在三种表示方法中都以全0的串。

3)有号子数和无符号数以内的转移

强制类型转换的结果保持位值不改变,只是改动精晓释这么些位的艺术。即在c语言中,管理同样字长的有号子数和无符号数里面交互转变的貌似法则是:数值只怕会转移,然而位格局不转移。

1  原理:补码调换为无符号数:

对满足TMin<=x<=TMax的x有:T2Uw(x)={x 2^w,x<0},{x,x>=0};

(负数就被转移为了大的正数,而非负数会保持不改变。)

 2  原理:无符号数转换为补码:

对满足0<=u<=UMax的u有:

U2Tw(u)={u,u<=TMax},{u-2^w,u>TMax};

(对于小的数,从无符号数到有记号数的转变将保留数字的原值。对于大的数,数字将被更动为七个负值。)

4)c语言中的有标识数与无符号数

差不离拥有的机器都利用补码,调换时大比非常多系列遵照的口径是底层的位保持不改变。

c语言对同一时候含有有号子和无符号数表明式的管理格局:

当施行三个运算时,假若它的三个运算数是有暗号的而另七个是无符号的,那么c语言会隐式地将有号子参数强制类型转变为无符号数,并假使那多少个数都以非负的,来实行这一个运算。

5)扩展一个数字的位表示

1 无标识数的零扩张

要将一个无符号数转换到一个更加大的数据类型,只要轻便地在表示的始发加多0,这种运算称为零扩充。

2 补码数的号子扩充

要将贰个补码数调换来叁个越来越大的数据类型,能够实践符号扩张,在代表中增加最高有效位的值。

注:c语言标准须求的条条框框:

从三个数码大小到另一个数额大小的转移,以及无符号和有号子数字之间的改造的相对顺序能够影响贰个顺序的一坐一起。

例:当把short调换来unsigned时,大家先要改换大小,之后再产生从有号子到无符号的调换。约等于说

(unsigned)sx 等价于(unsigned)(int)sx,再求值。

6)截断数字

截断一个数字可能会耳熟能详它的值-----溢出的一种样式。

1 截断无符号数

x :[Xw-1,Xw-2,……X0]   ,x1表示x截断为k位的结果,则x1  :[Xk-1,Xk-2,……,X0]。则它们所代表的无符号值大小关系为:x1=x mod2^k

2 截断补码数值

也存有一样的属性,只不过要将最高位调换为标记位。

x :[Xw-1,Xw-2,……X0]   ,x1代表x截断为k位的结果,则x1  :[Xk-1,Xk-2,……,X0]。x=B2Uw(x),x1=B2Tk(x1),则x1=U2Tk(x mod 2^k);

:将数值 x=53191从 int 转换为 short,由于2^16=65536>=x,所以有 x mod2^16  =x。第二步,把那一个数调换为十四位补码,

得到x2=53191-65536=(-)12345。

7)整数运算

1  无标识数加法

粗略丢掉2^(w-1)位就能够总结出模2^w。

算术运算溢出:指全体的整数结果无法松开数据类型的字长限制中去。

x y=【x y可能x y-2^w;(决议于有无溢出,溢出遗弃)】

检查测量检验有无溢出:结果小于在那之中三个加数

无符号数取反:-x=[x或者2^w-x];取决于x是否为0

2  补码加法

x y=【x y-2^w;x y;x y 2^w】(正溢出,正常,负溢出)

正溢出:x y超过TMax。负溢出:x y小于TMin。

检查测量检验有无溢出:x>0,y>0,s<0。或x<0,y<0,s>=0。

补码的非:对w位的补码加法;来讲,TMin是本身的加法的逆,而对此别的任何数值,x都有-x作为其加法的逆。

3  无标志乘法

c语言中的无符号乘法被定义为发出w位的值,正是2w位的整数乘积的低w位来代表的值。

将贰个无符号数截断为w位等价于总结该值模2^w。

x*y=(x*y)mod  2^w。

4  补码乘法

将八个补码说截断为w位相当于先计算该值,模2^w,再把无符号数转变为补码。

x*y=U2Tw【(x*y)mod  2^w】。

5  乘以常数

板寸乘法指令一点也不慢,需求十三个或许更几个石英钟周期,但是别的整数运算(加法,减法,位级运算和活动)只须求一个石英钟周期。由此,编写翻译器使用了一项珍视的优化,即试着用运动和加法运算组成的组合来替代乘以常数因子的乘法

左移一个数值等价于实施一个与2的幂相乘的无符号乘法。补码乘法类似。

例:x*14   因为14=2^3 2^2 2^1,所以编写翻译器会把乘法写为 (x<<3 x<<2 x<<1),将三个乘法替换为四个移动和五个加法。

要么14=2^4-2^1,所以  x<<4-x<<1.多少个活动和多少个减法。

6  除以2的幂

偏分头除法要比整数乘法更加慢-----须要二14个只怕越多的电子机械手表周期。

除以2的幂,用右移。

1 无标识除法   x>>k(逻辑移位),发生的数值左趋近。

2 补码除法x>>k(算术移位),向下舍入。大概(x (1<<k)-1)>>k 爆发数值向上舍入。第两种方法相当于在试行算术右移以前增进二个妥当的偏置量会招致结果正确舍入。

8)浮点数运算

1  二进制小数表示

2  浮点数表示

用V=(-1)^s   *  M * 2^E的款式表示八个数。

标记位:s决定是负数(s=1)依旧正数(s=0)。

尾数:M是二个二进制小数,它的界定是1~2或者0~1。

阶码:E的机能是对浮点数加权,这几个权重是2的E次幂。

就要浮点数的位代表划分为四个字段,分别对那几个值举办编码:

·三个独门的标记位s直接编码符号s。

·k位的阶码字段exp=……编码E。

·n位小数字段frac=……编码尾数M,可是编码出来的值也借助于阶码字段的值是或不是为0.

注:单精度float中,s、exp、frac字段分别为1位,k为8位,和n为二十多少人,得到了叁十三人的象征。

注:双精度double中,s、exp、frac字段分别为1位,k为十一位,和n为54人,得到了陆十二位的代表。

二种状态:

1、 规格化的值

最广大状态。当exp的位形式既不全为0,也不全为1,。在这种处境中,阶码字段被解说为以偏置情势表示的有号子整数,相当于说,阶码的值是

E=e-Bias,当中e是无符号数,其位代表为ek-1ek-2……e0,而Bias是几个对等2^(k-1)-1的偏置值,(127or1023)。

小数字段frac被批注为f,最后几个定义为M=1 f。即含有的以1开首的意味。这种代表方法,是一种轻便的拿走一个附加精度的能力。既然第一人一连1,那么大家就无需显式的代表它。

2、 非规格化的值

当阶码域为全0时,所代表的数是非规格化方式。阶码值是E=1-Bias,而尾数的值是M=f,也便是小数字段的值,不带有隐式地从头的1。

七个成效:表示0和那几个可怜相近0的数。

3、特殊值

最终一类数值是阶码全为1的时候出现的。当小数域全为0时,得到的值表示无穷。当小数域为非零时,结果值被称之为“NaN”,即“不是一个数”。

3   舍入

因为代表方法限制了浮点数范围与精度,所以浮点运算只好近似地球表面示实数运算。

关键难题是在三个可能值的中等明确舍入方向。

向偶数舍入,即向近日的值舍入,是暗中认可的秘技。向偶数舍入的章程接纳的章程是:它将数字向上也许向下舍入,使得结果的最低有效数字是偶数。这种措施将1.5和2.5都舍入为2,幸免了一定的总计固有误差。向0舍入方式是把正数向下舍入,把负数向上舍入。向下舍入,向上舍入。

4  浮点数运算

运算不可结合。

浮点加法不富有结合性。满意单调性。满意交换律

浮点乘法可调换,不有所可结合性。浮点乘法在加法上不抱有分配性。

例:使用单精度浮点,表明式(3.14 le10)-le10求值获得0.0。(因为舍入,值3.14会屏弃)另一方面,表明式3.14 (le10-le10)得出值3.14。

例:单精度浮点景况:表明式  le20*(le20-le20)求值为0.0,而le20*le20-le20*le20会得到NaN。

                                                                                             [第二章完]

Dual Representation

设特征空间的线性函数为(f(x) = w^T phi(x) b),为了去掉(phi),由(3)须求进一步化简

[f(x) =( sum_{i=1}^N alpha_i kappa(x_i, x)) b]

其中 (w = c_ -c_- =...=sum_{i=1}^N alpha_i phi(x_i))

从此间看,使用(kappa)将原本(phi(x))的高维向量的内积形成了低维内积,然后做叁遍kernel function。大大收缩了计算量。

x = 5, y = 4的景观上面

参谋文献

[1]

x y = 9 >=2 ^ 属于第一种意况

sum = x y = 9- 2^w = –7

sum – x == y?

-7 – 4 = – 11 属于第二种状态 负溢出

sum – x = –7 - 4= –11 2^w = 5 = y?

明显是万分的

同样

sum- y = x ?

-7 – 5 = –12 2^w = 4 = x?

故此溢出的场馆上边根本推断不到。

认清有未有溢出的图景 就判别有未有正溢出和负溢出

怎么推断?

x y >= 2 ^ 正溢出

0 x y >= 2^

0 >= 2^ – x – y 成立便是正溢出了

0 x y < - 2 ^ 负溢出

0 < –2^ – x – y 创立正是负溢出了

从而本身的答案是:

if  (0 >= 2^(w-1) – x – y) || (0 < –2^(w-1) – x – y){   result = 0} else{   result = 1}

并未有C情形不知底好照旧糟糕, 如有不对央浼建议

编辑:ca88 本文来源:读书笔记ca88

关键词: 亚洲城ca88