学习的两个分支:
1、专家系统(也称-符号主义、俗称规则)
if:
elif:...
else ....
查看数据量:
1) 没有数据或者数据量比较少的情况下更适合规则
2) 如果有大量的数据 => 基于概率的解决方案
2、基于概率的解决方案(也称-连接主义)
专家系统:
专家系统 = 推理引擎 + 知识
利用知识和推理来解决决策问题
BI系统:对数据进行包装辅助用户决策,人还是决策核心
AI系统: 帮助或替代用户去做决策
专家系统核心流程:
1、需要知识库: 领域内的专家 -> 经验 -> 将经验转化为计算机能识别的知识 -> 知识库 -> 推理引擎 <->
working storage --> user interface
任务:搭建金融知识图谱-最终目的:风控
金融专家->金融风控涉及到实体、关系 ->知识图谱工程师 -> 集合专家经验、构建知识图谱 --> 图数据库 -> 推理层(AI工程师、NLP工程师) -> API -> 系统(业务)
特点:
处理不确定性
知识的表示
可解释性:一条条规则
可以做知识推理
给出一个规则集合:
Rule 1: If A and C Then F
Rule 2: IF A and E Then G
Rule 3: IF B Then E
Rule 4: IF G Then D
Prove:IF A and B true Then D is true
算法: Forward Chaining Algorithm
已知: A is True & B is True
1) 结合Rule 3 -> {E is true} 第一层循环
2) 结合Rule 2 -> {G is true} 第二层循环
3) 结合Rule 4 -> {D is true} 第二层循环
算法: Backward Chaining Algorithm
D is true -> A is True & B is True
1) D is true -> G is True -> A is true and E is true -> A is True & B is True
专家系统的缺点:
1、设计大量的规则
2、需要领域专家来主导
3、可移植性差:做完一个系统规则很难移植到第二个系统或第三个系统
4、学习能力差
5、人能考虑的范围是有限的
专家系统案例: 风控
问题:根据用户的信息,决定要不要放贷
1、if age < 18 reject -1
2、if m-money < 3000 reject -2
3、if city == 'xxx' reject -0.5
........
rule engine 可以给每一条规则不同的权重
一些需要考虑的问题:
1、逻辑推理(background or forward)
2、规则冲突 rule 01: if A then B if A then -B
3、选择最小规则的子集: 1000条规则存在冗余规则,例如第二条规则和第三条规则包含第四条规则
可以采取贪心算法,从规则集合一个一个规则,按结果影响效果不大的规则删除