Tuesday, May 5, 2009

考试

50 B
51 B
52 B
53 C
54 B
55 AB
56 A
57 D
58 C
59 B
60 A
61 C
62 A
63 D
64 D
65 C
66 A
67 A
68 C
69 D

Thursday, October 9, 2008

贝叶斯决策理论

 模式分类:第一章:贝叶斯决策理论

模式分类(Pattern Classification第二章 贝叶斯决策理论

在第一节介绍中,给出了在决策过程中,只用先验概率的不足:只能决策一次,在以后的过程中给出的决策结果都是一样的,这个用在决策论中很不足。

 究其原因,是在决策过程中,使用的信息太少。没有用feature,给出了calss-conditional probability density也就是类条件概率密度。 先验概率 + 类条件概率密度 给出了决策信息的组合。同时给出了贝叶斯公式,在该章,或者是模式分类很大一块上,都是基于这个公式做了一个问题的转化。  将先验概率 + 类条件概率密度 转化为后验概率,从而指导我们分类。

 给出后验概率并不代表就给出了分类方法或者说决策规则。引入了最小化错误概率(minimize the probability of error),这个才是我们的目的。用这给出了贝叶斯决策规则,让规则不和后验概率绑定,是为了以后我们简化计算,找到问题的本质,提供余地。所以就可以写出很多的决策规则,虽然都和后验概率有那么点关系。

 那么一个决策过程的大体框架搭设好了,以后就是对这个框架具体化了。这个是贝叶斯公式在模式分类中应用的,理论基础。一切基础都是构建在其之上,修改一些条件,从而去适合一些情况,得到一些决策规则。

 贝叶斯决策理论的形式上扩展,在此节,给出了用数学语言来表示贝叶斯决策问题。一个类向量,feature空间,feature向量等。用它们做基础进行给负责情况下,贝叶斯决策问题的数学推导。而且还引入了"风险"概念,让决策目的更明确了,从最小化错误概率(minimize the probability of error)到最小化风险,从而使得决策理论更有效应用于实际问题。

 用一个两类分类问题,提出了如何利用贝叶斯公式,后验概率推导我们的决策函数

 最小错误率分类节,给出了从后验概率,在有损失函数的情况下,如何推导出决策规则。提出了Minimax最小化最大可能总风险准则,Neyman-Pearson准则。

 分类器,判定函数,决策面。 给出了决策规则,在实际中的表示和实现。它们从数学推导中出发,用这些概念来构造分类器,也就是分类的最后输入。

 正态分布密度,在这节,给出了研究最活跃,透彻的正态分布模型,一般的feature是以这样的概率密度的随机分布。有单变量的和多变量。一些数学基础,对于我来说,有些难,但是他是以后分析的基础。

 在假定正态分布基础上,对判定函数进行了推导,用一些特殊的假设,来简化我们的判断式。一般正态分布也就有个协方差矩阵,我们一般在其基础上进行讨论。把其简单化,复杂化等,都是在协方差矩阵的基础上。在该节给出了好多图像例子,可以对判断面有一些直观的认识。使得我们明白,我们做的数学模型,是什么样子的架构,图像一画出,我们就很容易了解我们的模型复杂度。好好体会这些图像吧。

第七节,从错误概率和错误积分角度讲分类器的特性,用联合密度的加(离散情况)或者积分(连续情况)来得到错误概率,对于多类问题,求错误概率太麻烦,所以用正确概率来表示分类器的特性。

 第八节,给出了正态分布的错误边界的上界,Chernoff边界和Bhattacharya边界,两者的区别,和求法对我来说,好像难了点,先有个大致了解吧。这些讲述了信号检测用的ROC曲线,在Data Mining书了有涉及,大致了解。  这些方法,最主要的是搞清在实际中如何应用,然后建造和上述边界相同的模型处理,再套用上述求法。

 第九节,如果特征值是离散的,那么贝叶斯决策理论如果处理。将积分运算,变成加运算。

 第十节,也是给出了实际中可能遇到的情况,正如上面的离散情况,如果遇到缺失值或者噪声值如何办,这里给出的处理是,在缺失值所在领域积分,求其均值。噪声的话,就需要个噪声条件概率,用它去求后验概率。

 第十一节,贝叶斯置信网,我是第一次看到(孤陋寡闻阿),感觉这么处理随机变量的有点粗糙,因为它将相关关系,都处理为因果关系,而是还是单向的,我的感觉,事物的相关关系,至少也应该是想神经网络那样错综复杂的,但这样一个模型应该不好计算吧。不过在实际应用中,贝叶斯置信网应该很不错,事物之间的依赖并不要求那么的确定(事物关系之间的本质关系,那是那么容易就说清呢,神经网络研究告诉我们,可能事物,比如,神经元,自身的结构不负责,复杂的是事物之间的联系,反馈,加权值等等,它们构造了复杂系统的特性),但是在实际应用中,却给了很大的指导作用,从而不会让我们迷失了复杂的关系面前,而毫无办法。置信网络是由,节点(事物,父节点,子节点),连接(因果关系),和条件概率表(父节点,如何对子节点产生影响)表示。 用置信网络可以使得求联合概率成为可能,使联合概率等价于一些条件概率的乘积。

 第十二节,同样是从应用考虑,如果决策时,使用上下文的信息,也就是,上次的决策,对下面决策有什么有用信息。给出了数学表示,并没有深究,据说第三章还有描述。

 这一章,总的来说,是对贝叶斯决策的一个介绍性描述,给出了最基本的理论基础,先验概率和后验概率,然后如何用后验概率,构建决策规则,在构建过程中考虑错误概率,或者错误风险(成本)的情况。并着重讲述了,当特征值(或称事例的属性值)的概率分布为正态分布的数学求解,仔细体会它的求解过程,可以指导我们面对其他分布情况的求解。而且还给出了评估该模型的简单准则。在其简单模型上,有实际中遇到的问题,进行了一些扩展,缺失值,噪声值,离散值(不同于正态分布的概率分布),组合决策等实际扩展。还有贝叶斯置信网,这个很有用的求联合分布的工具,对于相关性作了一些简化和探讨。

 
 
 



[广告] 特惠尝必胜客26道新品

人工智能

 
 

人工智能精选网站

1. 机器人爱好者

介绍最机器人技术,机器人新闻,还有论坛以供交流。

www.roboticfan.com

2. Artificial Intelligence Laboratory<English>

www.ai.mit.edu

3. American Associationfor Artificial Intelligence<English>

www.aaai.org

4. 中科院自动化所人工智能实验室

中国科学院自动化研究所人工智能实验室源于早期的智能系统实验室,具有较长的科学研究历史和浓厚的学术氛围。

ai.ia.ac.cn

5. International Joint Conference on Artificial Intelligence (IJCAI)<English>

www.ijcai.org

6. 恋雪

包括站长自己有关人工智能,模式识别技术的文章、作品。

www.lovesnow.com

7. 华中科技大学图像识别与人工智能研究所

iprai.hust.edu.cn

8. 先进人机通信技术联合实验室

从事多媒体技术和智能人机交互技术等研究的机构。

www.jdl.ac.cn

9. Game AI Page

www.gameai.com

10. HNC自然语言理解处理网站

中国科学院声学研究所主办,介绍HNC知识, 报道HNC动态。

www.hncnlp.com

11. Artificial Intelligence Lab<English>

ai.eecs.umich.edu

12. 中国情感计算网站

探讨情感计算和智能交互技术的发展动态与趋势。

www.affectivecomputing.org

13. Generation5.org

www.generation5.org

14. MIT Media Lab Machine Listening Group

sound.media.mit.edu

15. 西安交大人机所

西安交通大学人工智能与机器人研究所简介。

www.aiar.xjtu.edu.cn

16. 人工智能研究者俱乐部

一个专门为人工智能研究者创建的网站。

www.souwu.com

17. Artificial Intelligence Applications Institute<English>

www.singinst.org

18. Artificial Intelligence Laboratory<English>

www.ai.sri.com

19. 中国科大人工智能实验室

介绍其主要成员、科研课题、以及学术资料。

ailab.ai.ustc.edu.cn

20. BotSpot

www.botspot.com

21. 计算机语言与机器人教学

包括机器人的发展史、机器人的分类等知识。

www.student.gov.cn/robot

22. A.I. Link

www.ailink.org

23. Artificial Intelligence Research Group<English>

www.cs.washington.edu/ai

24. Department of Medical Cybernetics and Artificial Intelligence<English>

www.ai.univie.ac.at/../imkai.html

25. Japanese Society for AI<English>

www.ai-gakkai.or.jp/../english.html

26. Michigan State Intelligent Systems Lab

islnotes.cse.msu.edu

27. 中科院自动化所fingerpass

指纹识别研究、指纹新闻、网络安全与数字认证。

www.fingerpass.net

28. Keele大学机器知觉研究组<English>

成员由计算机系、神经科学及心理学系人员构成。研究内容包括图像处理、声音处理、颜色处理等。

www.keele.ac.uk/../mprg.html

29. Lab for Artificial Intelligence Research<English>

www.cis.ohio-state.edu/lair

30. New Scientist: Artificial Intelligence and A-Life

www.newscientist.com/../ai

31. University of Bristol (United Kingdom) - Artificial Intelligence Group

www.enm.bris.ac.uk/ai

32. 合肥工业大学人工智能与数据挖掘实验室

含实验室简介、科学研究动态、学术研讨与交流。

www1.hfut.edu.cn/../kddweb

33. Ai - Artificial Intelligence<English>

www.a-i.com

34. ArtificialBrains.com

www.artificialbrains.com

35. 神经计算信息处理及应用研究室

介绍研究宗旨、研究内容、科研项目等信息。

www.114who.com

36. Staffordshire University - AI Research Group

www.soc.staffs.ac.uk/../ai

37. Artificial Intelligence Depot<English>

www.ai-depot.com

38. 大连市CBE学会

大连市人工智能与计算机辅助教育学会。含学会简介、教学基地、信息技术教育等。

www.dlcbe.org.cn

39. 俄勒冈大学计算智能研究实验室<English>

计算机科学系下的进行人工智能基础研究的机构。

cirl.uoregon.edu

40. 南京大学人工智能实验室

主要研究方向为人工智能与知识工程、神经计算等。

ai.nju.edu.cn

41. Odyssey研究协会

进行人工智能的研究以及发展规划,机器学习,未知系统及概率论的研究。

www.oracorp.com

42. Rio Grande Institute for Soft Computing

www.riosoft.nmsu.edu

43. Canadian Society for the Computational Studies of Intelligence

www.cscsi.org/../CSCSI

44. 江苏大学人工智能站点

介绍人工智能研究,发展人工智能科学。

chengxianyi.6to23.com

45. Gnod

www.gnod.net

46. 中国人工智能网

以服务于广大人工智能、模式识别、数字图像处理及相关领域科研人员和爱好者为根本宗旨,开设论文文章,资源下载,登陆搜索,网站联盟,开发论坛等服务栏目。含人工智能,模式识别,数字图像处理等。

www.ChinaAI.org

47. Artificial Intelligence Applications Institute<English>

www.aiai.ed.ac.uk

48. Center for Intelligent Machines

www.cim.mcgill.ca

49. Institute for Human and Machine Cognition - University of West Florida

www.ihmc.us

50. IRIDIA - Universite' Libre de Bruxelles - Artifical Intelligence Lab

iridia.ulb.ac.be

51. Istituto Dalle Molle di Studi sull'Intelligenza Artificiale

www.idsia.ch

52. Laboratorio de Inteligencia Artificial

www.lia.ufc.br

53. University of Toronto - Enterprise Integration Laboratory

www.eil.utoronto.ca

54. 国家研究协会知识系统实验室
 
 



[广告] 特惠尝必胜客26道新品

贝叶斯算法

http://www.263mail.com.cn/blog/post/390.html 贝叶斯算法

Sunday, October 5, 2008

hashcode

hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。 如果根据 equals(Object) 方法,两个对象是相等的,那么在两个对象中的每个对象上调用 hashCode 方法都必须生成相同的整数结果。 以下情况不 是必需的:如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么在两个对象中的任一对象上调用 hashCode 方法必定会生成不同的整数结果。但是,程序员应该知道,为不相等的对象生成不同整数结果可以提高哈希表的性能。 实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。) 当equals方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。

解析Java对象的equals()和hashCode()的使用

解析Java对象的equals()和hashCode()的使用
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当 一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一个对象A放入另一个收集对象B里,或者使用这个对象A为查找一个元对象在收集对 象B里位置的钥匙,并支持是否容纳,删除收集对象B里的元对象这样的操作,那么,equals()和hashCode()函数必须开发者自己定义。其他情 况下,这两个函数是不需要定义的。equals():
它是用于进行两个对象的比较的,是对象内容的比较,当然也能用于进行对象参阅值的比较。什么是对象参阅值的比较?就是两个参阅变量的值得比较,我们 都知道参阅变量的值其实就是一个数字,这个数字可以看成是鉴别不同对象的代号。两个对象参阅值的比较,就是两个数字的比较,两个代号的比较。这种比较是默 认的对象比较方式,在Object这个对象中,这种方式就已经设计好了。所以你也不用自己来重写,浪费不必要的时间。对象内容的比较才是设计equals()的真正目的,Java语言对equals()的要求如下,这些要求是必须遵循的。否则,你就不该浪费时间:
对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
反射性:x.equals(x)必须返回是“true”。
类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
还有一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。 hashCode():这 个函数返回的就是一个用来进行赫希操作的整型代号,请不要把这个代号和前面所说的参阅变量所代表的代号弄混了。后者不仅仅是个代号还具有在内存中才查找对 象的位置的功能。hashCode()所返回的值是用来分类对象在一些特定的收集对象中的位置。这些对象是HashMap, Hashtable, HashSet,等等。这个函数和上面的equals()函数必须自己设计,用来协助HashMap, Hashtable, HashSet,等等对自己所收集的大量对象进行搜寻和定位。这些收集对象究竟如何工作的,想象每个元对象hashCode是一个箱子的 编码,按照编码,每个元对象就是根据hashCode()提供的代号归入相应的箱子里。所有的箱子加起来就是一个HashSet,HashMap,或 Hashtable对象,我们需要寻找一个元对象时,先看它的代码,就是hashCode()返回的整型值,这样我们找到它所在的箱子,然后在箱子里,每 个元对象都拿出来一个个和我们要找的对象进行对比,如果两个对象的内容相等,我们的搜寻也就结束。这种操作需要两个重要的信息,一是对象的 hashCode(),还有一个是对象内容对比的结果。hashCode()的返回值和equals()的关系如下:
如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。
如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。
为什么这两个规则是这样的,原因其实很简单,拿HashSet来说吧,HashSet可以拥有一个或更多的箱子,在同一个箱子中可以有一个 或更多的独特元对象(HashSet所容纳的必须是独特的元对象)。这个例子说明一个元对象可以和其他不同的元对象拥有相同的hashCode。但是一个 元对象只能和拥有同样内容的元对象相等。所以这两个规则必须成立。设计这两个函数所要注意到的:如果你设计的对象类型并不使用于收集性对象,那么没有必要自己再设计这两个函数的处理方式。这是正确的面向对象设计方法,任何用户一时用不到的功能,就先不要设计,以免给日后功能扩展带来麻烦。
如果你在设计时想别出心裁,不遵守以上的两套规则,那么劝你还是不要做这样想入非非的事。我还没有遇到过哪一个开发者和我说设计这两个函数要违背前面说的两个规则,我碰到这些违反规则的情况时,都是作为设计错误处理。
当一个对象类型作为收集型对象的元对象时,这个对象应该拥有自己处理equals(),和/或处理hashCode()的设计,而且要遵守前面所说 的两种原则。equals()先要查null和是否是同一类型。查同一类型是为了避免出现ClassCastException这样的异常给丢出来。查 null是为了避免出现NullPointerException这样的异常给丢出来。如果你的对象里面容纳的数据过多,那么这两个函数 equals()和hashCode()将会变得效率低。如果对象中拥有无法serialized的数据,equals()有可能在操作中出现错误。想象 一个对象x,它的一个整型数据是transient型(不能被serialize成二进制数据流)。然而equals()和hashCode()都有依靠 这个整型数据,那么,这个对象在serialization之前和之后,是否一样?答案是不一样。因为serialization之前的整型数据是有效的 数据,在serialization之后,这个整型数据的值并没有存储下来,再重新由二进制数据流转换成对象后,两者(对象在serialization 之前和之后)的状态已经不同了。这也是要注意的。知道以上这些能够帮助你:1. 进行更好的设计和开发。2. 进行更好的测试案例开发。3. 在面试过程中让面试者对你的学识渊博感到满意。

Friday, September 26, 2008

铁齿李肇星这样向美国人解释西藏,当场雷倒对方

有一次,他和美国一位领导人会谈,对方说,我对中国“侵略”西藏感到非常不满。李肇星立刻问他,你了解西藏的历史吗?对方摇摇头。李肇星说:“我可以向您解释,但您理解起来可能会有点困难,因为西藏被划入中国版图的时候,还没有美国这个国家。”