这里与大家探探 BFN 在面对离散化数据时是怎么玩的,详解离散化数据概念以及实现离散化过程。详解贝叶斯流网络在离散化数据场景下的实现
前面解析了 BFN 在连续(continuous)数据场景下的具体实现后,本文紧接着来与大家探探 BFN 在面对离散化数据时是怎么玩的。离散化数据是比较有个性的,虽然它是个名词,但其实蕴含着一个过程,具有动词的属性。具体如何,接下来会在正文中详细说到。
本文会首先介绍离散化数据的概念,并进一步列出其与最易混淆的离散数据之间的区别;接着,CW 会介绍作者是如何对数据实现离散化的,同时一并介绍其在离散化数据场景下的一些框架设置;然后,就开始步入正题—— BFN 在离散化数据场景下的数学实现;最后谈了谈离散化可能产生的利弊 和 BFN 在此场景下实现的伪代码。另外,和前面的文章一样,关于文中所引用到的数学结论的证明,CW 都放在附录中了,感兴趣的可以扫一扫~
什么是离散化(discretised)数据
何谓离散化数据?这名字可能会有误导性,让你下意识以为它是离散型(discrete)数据。然而,离散化数据的意思是将连续型(continuous)数据转换为离散型数据的过程或结果,其中隐含着一个转换过程。通常可以将连续数值划分为多个等长的数值区间,然后将位于同一区间内的连续数值都使用同一个离散数值(或类别)来表示。
离散化数据 vs 离散数据
为了让大家更清楚地了解离散化数据,CW 觉得有必要在此列举一下它与离散化数据的区别:
-
离散数据是数据的一种类型,而离散化数据更多地代表着数据的一种处理方式;
-
离散数据它本身就长那样,不是由某某转换而来;而离散化数据的“根”是连续数据、是可还原的;
-
离散数据的数值只能是整数,而离散化数据的数值可以是任意的。
如何实现离散化
(你看, 是不是真的可以考虑让你们上中学的弟弟妹妹教你。你也不用怕丢脸, 待他/她答出来后你就说这是你故意考他/她的)
在离散化场景下的一些设置
由于