K
knightair
Unregistered / Unconfirmed
GUEST, unregistred user!
则主要是一个知识分类的问题,描述如下:
信息系统={条件属性,决策属性},其中,对第i个条件属性,有值域V={v1,v2,v3,……,vn},决策属性假设为单一属性,有值域D={d1,d2,d3,……,dn},如此类推,可用条件属性的不同之的组合与决策属性值来描述历史纪录中的系统情况,如果能用一种好的方法对这些纪录进行分类,则可以模仿人对经验知识学习的功能。
打个比方吧,有信息系统:
鸡蛋优选系统={鸡蛋的特征,鸡蛋的质量水平};并且,鸡蛋的属性={鸡蛋的颜色(V1),鸡蛋重量(V2),蛋皮的光滑程度(V3)},每个条件属性都有属性值(用来描述该属性的状况),例如,条件属性“鸡蛋的颜色”有如下值V1={1,2,3},1-表示白色,2-表示黄色,3-表示灰褐色;如此类推,假设V2={1,2,3,},V3={1,2,3,4}。特别的,决策属性即鸡蛋的质量水平={好,中,差}。现在,我们可以大量的收集描述该系统的记录,希望能通过大量的数据学习,得到购买鸡蛋(决策属性--鸡蛋的质量水平)的评价规则。这可以推广的理解为日常的一般决策问题,如顾客购买汽车的评价规则,病人不同病症表现与疾病类型的关系。
相做一个比较简单的知识系统,有如下数据:
记录序号 条件属性 决策属性
-----------------------------------------------------
鸡蛋的颜色, 鸡蛋重量, 鸡蛋皮的光滑程度 鸡蛋的质量水平
1 1 1 2 1
2 2 3 1 2
3 1 2 4 1
4 3 3 2 3
5 2 3 3 2
6 2 1 3 2
-----------------------------------------------------------------------------
对上表进行分析,不难发现,条件属性V3(鸡蛋皮的光滑程度)去掉之后对整个知识的分类并不存在影响,即由条件属性V1和V2的不同组合可对决策属性进行充分的描述,并有如下规则:
如果鸡蛋的颜色={1}={白色},且重量={1}或重量={2}那么鸡蛋的质量={1-即好的};
如果鸡蛋的颜色={2}={黄色},那么就可以断定鸡蛋的质量水平={2-即一般的};
到这时,大家应该发现这样的规则并不是遍历的----如没有提供如果鸡蛋的颜色是灰褐色的时候,鸡蛋的质量水平将会是怎么样等规则。。。。。
试想,如果有很多很多条这样的经验记录,通过如此的规则提取,就能达到知识学习的目的,实现鸡蛋购买的规则决策。
现在的问题是,该怎么样让程序实现规则的自动提取,因为条件属性有时候会远远大于3个,决策属性=----呵呵,放心,一般不超过五个(当然这无可决策属性可看作一个更多选择情况的总目标),因为用一般的算法的话就是一个NP难题,,,,,!
请问怎么样用Delphi实现该程序?
谢谢各位大侠!
信息系统={条件属性,决策属性},其中,对第i个条件属性,有值域V={v1,v2,v3,……,vn},决策属性假设为单一属性,有值域D={d1,d2,d3,……,dn},如此类推,可用条件属性的不同之的组合与决策属性值来描述历史纪录中的系统情况,如果能用一种好的方法对这些纪录进行分类,则可以模仿人对经验知识学习的功能。
打个比方吧,有信息系统:
鸡蛋优选系统={鸡蛋的特征,鸡蛋的质量水平};并且,鸡蛋的属性={鸡蛋的颜色(V1),鸡蛋重量(V2),蛋皮的光滑程度(V3)},每个条件属性都有属性值(用来描述该属性的状况),例如,条件属性“鸡蛋的颜色”有如下值V1={1,2,3},1-表示白色,2-表示黄色,3-表示灰褐色;如此类推,假设V2={1,2,3,},V3={1,2,3,4}。特别的,决策属性即鸡蛋的质量水平={好,中,差}。现在,我们可以大量的收集描述该系统的记录,希望能通过大量的数据学习,得到购买鸡蛋(决策属性--鸡蛋的质量水平)的评价规则。这可以推广的理解为日常的一般决策问题,如顾客购买汽车的评价规则,病人不同病症表现与疾病类型的关系。
相做一个比较简单的知识系统,有如下数据:
记录序号 条件属性 决策属性
-----------------------------------------------------
鸡蛋的颜色, 鸡蛋重量, 鸡蛋皮的光滑程度 鸡蛋的质量水平
1 1 1 2 1
2 2 3 1 2
3 1 2 4 1
4 3 3 2 3
5 2 3 3 2
6 2 1 3 2
-----------------------------------------------------------------------------
对上表进行分析,不难发现,条件属性V3(鸡蛋皮的光滑程度)去掉之后对整个知识的分类并不存在影响,即由条件属性V1和V2的不同组合可对决策属性进行充分的描述,并有如下规则:
如果鸡蛋的颜色={1}={白色},且重量={1}或重量={2}那么鸡蛋的质量={1-即好的};
如果鸡蛋的颜色={2}={黄色},那么就可以断定鸡蛋的质量水平={2-即一般的};
到这时,大家应该发现这样的规则并不是遍历的----如没有提供如果鸡蛋的颜色是灰褐色的时候,鸡蛋的质量水平将会是怎么样等规则。。。。。
试想,如果有很多很多条这样的经验记录,通过如此的规则提取,就能达到知识学习的目的,实现鸡蛋购买的规则决策。
现在的问题是,该怎么样让程序实现规则的自动提取,因为条件属性有时候会远远大于3个,决策属性=----呵呵,放心,一般不超过五个(当然这无可决策属性可看作一个更多选择情况的总目标),因为用一般的算法的话就是一个NP难题,,,,,!
请问怎么样用Delphi实现该程序?
谢谢各位大侠!