机器学习---规则学习(一阶规则学习、归纳逻辑程序设计)

1. 一阶规则学习

“一阶”的目的:描述一类物体的性质、相互关系,比如利用一阶关系来挑“ 更好的”瓜,但实际应用

中很难量化颜色、 …、敲声的属性值。一般情况下可以省略全称量词。

命题逻辑:属性-值数据

色泽程度:乌黑>青绿>q浅白;“根蒂弯度”:蜷缩>稍蜷>硬挺;“更好”:好瓜>坏瓜

关系型数据一阶逻辑:

序贯覆盖生成规则集:能否引入新变量?能否使用否定文字?能否允许递归?能否引入函数嵌套?

自顶向下学习单条规则,候选文字需考虑所有可能的选项:

规则生长的评判标准为FOIL增益:

2. 归纳逻辑程序设计

目标:完备地学习一阶规则(Horn子句);仍然以序贯覆盖方法学习规则集,一般采用自底向上

策略学习单条规则。不需要列举所有可能的候选规则;对目标概念的搜索维持在样例附近的局部区

域;自顶向下策略的搜索空间对于规则长度呈指数级增长。

2.1 最小一般泛化(LGG) [Plotkin, 1970]:

“泛化”:将覆盖率低的规则变换为覆盖率高的规则;“一般”:覆盖率尽可能高;“最小”:变换时对原

规则的改动尽可能小。

寻找两条规则LGG的步骤:

①找出两条规则中涉及相同谓词的文字

②考察谓词后括号里的项LGG(t,t)=t;LGG(s,t),s≠t;s, t不是谓词相同的项,则LGG(s,t)=VV

任意未出现过的变量;s, t为谓词相同的项,递归考察其括号内的

③删除没有相同谓词出现的文字

其他基于LGGILP算法:考虑否定文字,不同的初始化选择,多条特殊规则,考虑所有背景知识

RLGG[Plotkin, 1971] … 

2.2 演绎与归纳

“……猜想是很不好的习惯,它有害于作逻辑的推理。你所以觉得奇怪,是因为你没有了解我的思

路,没有注意到 往往能推断出大事来的那些细小 问题(the small facts upon which large

inferences may depend)。举例来说吧,我开始时曾说你哥哥的行为很不谨慎。请看这只表,不

仅下面边缘上有凹痕两处,整个表的上面还有无数的伤痕,这是因为惯于把表放在有钱币、钥匙一

类硬东西的衣袋里的缘故。对一只价值五十多镑的表这样不经心,说他生活不检点,总不算是过

吧!……。”

歇洛克·福尔摩斯     演绎法研究(The science of deduction)——《四签名》

演绎:归结原理

归纳:逆归结

如何考虑带变量的逻辑表达式?

置换:用项替换变量:

θ={1/X,2/Y},C=色泽更深(X,Y)^敲声更沉(X,Y)

C'=Cθ=色泽更深(1,2)^敲声更沉(1,2)

复合置换:θoλ;逆置换:θ-1

合一:通过置换让两个表达式相等:

A=色泽更深(1,X),θ={2/X,1/Y},Aθ=Bθ=色泽更深(1,2),B=色泽更深(Y,2)

最一般合一置换(MGU):任意一个合一置换都是MGU的复合置换

色泽更深(1,Y),色泽更深(X,Y),θ1={1/X}MGU;θ2={1/X,2/Y};θ3={Z/X,1/Z}

都是θ1与其他置换的复合

一阶归结:当

一阶逆归结:

比如:

找一个不在归结项C1中的L1使,令

存在一个解:

使得

四种完备的逆归结操作:

吸收:    辨识:

内构:互构:

吸收:                                                                                        辨识:

内构

互构:

逆归结中出现的q(M,N)是什么?

q(1,S)←纹理更清(1,S)q(1,T)←敲声更沉(1,T).

日晒更多?更新鲜?更甜?......

之前ILP甚至可以通过谓词发明进行递归规则学习[Muggleton andLin,2013]

自动发明得到的a(X,Y)即是楼梯的梯级

目标概念:“楼梯” 

常用工具:

WEKA中的JRIP(http://weka.sourceforge.net/doc.dev/weka/classifiers/rules/JRip.html

 ILP的集大成工具ALEPH(http://www.cs.ox.ac.uk/activities/machlearn/Aleph/aleph.html

 相对最小一般泛化:GOLEM(http://www.doc.ic.ac.uk/~shm/golem.html

逆演绎:Progol(http://www.doc.ic.ac.uk/~shm/progol.html

开源Prolog环境:YAP(http://www.dcc.fc.up.pt/~vsc/Yap/

SWI-Prolog(http://www.swi-prolog.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS:BFC

BFC,Block Formatting Context,块级格式化上下文,是一个独立的渲染区域或隔离的独立容器,它决定了其子元素如何布局,并且与这个区域外部的元素无关。 形成 BFC 的条件 float 的值不为 none(left、right&a…

爬虫入门一

文章目录 一、什么是爬虫?二、爬虫基本流程三、requests模块介绍四、requests模块发送Get请求五、Get请求携带参数六、携带请求头七、发送post请求八、携带cookie方式一:放在请求头中方式二:放在cookie参数中 九、post请求携带参数十、模拟登…

HTTPS网络通信协议基础

目录 前言: 1.HTTPS协议理论 1.1协议概念 1.2加密 2.两类加密 2.1对称加密 2.2非对称加密 3.引入“证书” 3.1证书概念 3.2数据证书内容 3.3数据签名 4.总结 前言: 了解完HTTP协议后,HTTPS协议是HTTP协议的升级加强版&#xff0c…

设计模式二:代理模式

1、什么是动态代理 可能很多小伙伴首次接触动态代理这个名词的时候,或者是在面试过程中被问到动态代理的时候,不能很好的描述出来,动态代理到底是个什么高大上的技术。不方,其实动态代理的使用非常广泛,例如我们平常使…

unity 使用VS Code 开发,VS Code配置注意事项

vscode 对应的插件(unity开发) 插件:.Net Install Tool,c#,c# Dev Kit,IntelliCode For C# Dev Kit,Unity,Unity Code Snippets 本人现在是用了这些插件 unity需要安装Visual Studio Editor 1、.Net Install Tool 设置 需要在设置里面配置…

jvm gc日志拿取与分析思路

前言 参考文章:Java中9种常见的CMS GC问题分析与解决 - 美团技术团队 排查过程 进入容器里 生产应用是跑在docker上的,所以需要先进入到应用里面去,步骤如下 1. docker ps 找到对应的应用id,比如 zxc 2. 进入容器内部 docker exec -it 7690…

Elasticsearch:什么是搜索引擎?

搜索引擎定义 搜索引擎是一种软件程序或系统,旨在帮助用户查找存储在互联网或特定数据库中的信息。 搜索引擎的工作原理是对各种来源的内容进行索引和编目,然后根据用户的搜索查询向用户提供相关结果列表。 搜索引擎对于希望快速有效地查找特定信息的用…

怎么清理mac系统缓存系统垃圾文件 ?怎么清理mac系统DNS缓存

很多使用苹果电脑的用户都喜欢在同时运行多个软件,不过这样会导致在运行一些大型软件的时候出现不必要的卡顿现象,这时候我们就可以去清理下内存,不过很多人可能并不知道正确的清内存方式,下面就和小编一起来看看吧。 mac系统是一…

读十堂极简人工智能课笔记07_模拟与情感

1. 数码式考察 1.1. 制作计算机动画或游戏 1.1.1. 想怎么制作都可以 1.2. 计算机模拟 1.2.1. 目标是建造一个虚拟的实验室,其行为与现实完全一致,只是某些变量由我们来控制 1.3. 对现实世界进行建模并不容易,需要非常谨慎地收集和使用数…

Vscode vim 插件使用Ctrl+C和V进行复制粘贴到剪切板

Vscode vim 插件使用CtrlC和V进行复制粘贴到剪切板 使用这一个插件的时候复制粘贴和其他软件互动的时候体验不好, 并且不可以用Ctrl c, Ctrl v很不爽 "vim.commandLineModeKeyBindings": [{"before" : ["Ctrl", "c"],"after&q…

httpd apache

虚拟主机 配置环境 [rootlocalhost ~]#cd /var/www/html/ [rootlocalhost html]#mkdir 123 [rootlocalhost html]#mkdir abc [rootlocalhost html]#ls 123 abc [rootlocalhost html]#cd 123/ [rootlocalhost 123]#echo 123 > index.html [rootlocalhost 123]#cd ../abc/ […

泰山派摄像头使用-opencv流程

1. 泰山派添加camera 连接摄像头连接到usb接口,查看dev设备: # 在终端中输入如下命令,可以查看到camera设备资源: ls /dev/video* 检查板卡上的camera设备资源示例 也可以使用v4l2命令查看 v4l2-ctl --list-devices v4l2-ctl --list-devices是一个命令…

CentOS上如何配置手动和定时任务自动进行时间同步

场景 Linux(Centos)上使用crontab实现定时任务(定时执行脚本): Linux(Centos)上使用crontab实现定时任务(定时执行脚本)_centos 定时任务-CSDN博客 Winserver上如何配置和开启NTP客户端进行时间同步: Winserver上如何配置和开启NTP客户端进行时间同步…

ADS-B Receiver Module TT-SC1 for UAV and Drones

目录 Introduction Applications Main features Technical parameters Basic technical information Electrical specification Recommended operation conditions General electrical parameters Introduction TT-SC1 is a high quality and low price OEM ADS-B…

使用【Python+Appium】实现自动化测试

一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 Redirecting 点击下载按钮会到GitHub的…

java面试题之redis篇

1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…

Java+SpringBoot:农业疾病防治新选择

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

基于FPGA的I2C接口控制器(包含单字节和多字节读写)

1、概括 前文对IIC的时序做了详细的讲解,还有不懂的可以获取TI的IIC数据手册查看原理。通过手册需要知道的是IIC读、写数据都是以字节为单位,每次操作后接收方都需要进行应答。主机向从机写入数据后,从机接收数据,需要把总线拉低来…

Linux常用操作指令

Linux常用操作指令 ls 指令 语法:ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头…

【LeetCode每日一题】单调栈 581. 最短无序连续子数组

581. 最短无序连续子数组 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入&am…