【论文精读】时序逻辑推理之结构学习 Temporal logic inference for classification and prediction from data

时序逻辑公式学习与应用
本文探讨了如何从信号中学习时序逻辑公式,提出了rPSTL用于描述事件间的因果关系。通过搜索算法,同时学习结构和参数,实现分类和预测。算法在牧羊和生物网络案例中得到应用,揭示了时序逻辑在知识挖掘和系统理解中的潜力。

前言:前面复现的两篇文章都是基于已知的公式模板进行的参数学习,然而在工程应用和科学研究时,不知道系统规律才是常态。对于一段信号,实现从一无所知到洞悉规律,才是时序逻辑学习终止需要达到的效果。

主要参考文献:
Kong, Z., Jones, A., Medina Ayala, A., Aydin Gol, E., & Belta, C. (2014, April 15). Temporal logic inference for classification and prediction from data. Proceedings of the 17th International Conference on Hybrid Systems: Computation and Control. https://doi.org/10.1145/2562059.2562146

概览

这篇文章不仅提出了基于搜索算法的时序逻辑公式学习方法,不仅解决了参数学习、还解决了公式的结构发掘,并提出了rPSTL(Reactive Parameter Signal Temporal Logic)用来反映事件之间的因果关系。

流水账笔记

1 Introduction

以逆向工程学(Reverse Engineering)引出课题研究的背景。那么什么是逆向工程学呢?这里应用百度百科进行一下科普:

逆向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。
逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在集成电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。

那么使用时序逻辑来表征系统的特性有什么好处呢?对于一个系统,描述方法一般有两种:要么用动态模型来进行建模,但是在只有信号而对系统一无所知的情况下,建模非常困难;要么在统计范畴上描述系统特性,但这些统计信息的作用有限,往往不能达到研究者的预期。时序逻辑就相当于中和了这两种极端,可以在不预先知道系统特性的情况下,对系统进行更精确的描述。

本文提出了时序逻辑公式推理的两个应用场景:

  1. 将公式推理的结果作为分类器,将系统的行为进行划分,因此非常适用于异常监控领域。
  2. 从数据中挖掘新的知识

本文提出的算法可以同时得到STL结构和参数。文章对公式本身定义了偏序(前面接触过这个概念,但是都是针对信号的),其目的是让搜索更高效有序;并且将鲁棒度(robustness degree)做为优化目标,将问题转化为了优化问题。

2 Signal and Parametric Signal Temporal Logic

这一部分所有的文章就大同小异了,这里介绍一些前面的博客没有讲过的重要概念。

语义等价 Semantically Equivalent

列举满足公式 ϕ 1 \phi_1 ϕ1 ϕ 2 \phi_2 ϕ2的所有信号组成集合,如果这两个公式对应的信号集合是一样的,那么两条公式再语义上等价。

鲁棒度 Robustness Degree

之前的笔记中将robustness和tightess进行过对比。一个公式越鲁棒,能满足要求的信号集合越大。

有向距离 Signed Distance

定义一个点到集合的最近距离,点在集合外距离为正,反之为负。这里提出这个度量有什么意义呢?应该是想用距离来近似表示鲁棒度,给了一篇文献进行证明。

Fainekos, G. E., & Pappas, G. J. (2009). Robustness of temporal logic specifications for continuous-time signals. Theoretical Computer Science, 410(42), 4262–4291. https://doi.org/10.1016/j.tcs.2009.06.021

3 Problem Statement

3.1 Motivating Example

提出了一个牧场赶牛的例子。这里直接给了PSTL公式,这让人有些不解,不是要做结构学习的吗?为什么一上来先把公式给了?

3.2 Reactive PSTL

定义

这里提出了一个新概念——响应STL,就是可以反映因果关系的STL公式,比常规的STL多了一个表示因果关系的“ ⇒ \Rightarrow ”,后文中把 φ c \varphi_c φc ϕ c \phi_c ϕc称为因式, φ e \varphi_e φe ϕ e \phi_e ϕe称为果式。
φ : : = ⋄ [ τ 1 , τ 2 ) ( φ c ⇒ φ e ) \varphi::=\diamond_{[\tau_1,\tau_2)}(\varphi_c\Rightarrow\varphi_e) φ::=[τ1,τ2)(φcφe)
上面的式子表示,在 [ τ 1 , τ 2 ) [\tau_1,\tau_2) [τ1,τ2)时间内,总会有一个时刻,信号满足 φ c \varphi_c φc,接着满足 φ e \varphi_e φe. 这里先留一个疑问, φ e \varphi_e φe是紧接着 φ c \varphi_c φc满足呢还是在之后的任意时间呢?

这里最小的子公式只包含线性谓词。所谓线性谓词,我猜测应该是只包含“ < \lt <”或" ≥ \geq "的谓词语句吧。一会儿再查查确定一下。

限制

有一些事件是不能用响应式的方法来进行描述的,比如concurrent eventuality(不能区分因果关系),nested “always eventually”(没有事件作为trigger条件)。

3.3 Problem Description

分类与预测

这里要区分分类与预测的概念了,引用原文:

  • s i ⊨ ϕ d e s s_i \models \phi_{des} siϕdes iff p i = 1 p_i = 1 pi=1 (or s i ⊨ ϕ u n d s_i \models \phi_{und} siϕund iff p i = 0 p_i = 0
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值