一个定义.
A=>B := !A||B .
考虑给定A=>C,C=>B.
如何得出A=>B.
即
(A=>C)&&(C=>B) => (A=>B)
因为(A=>C) => (!A || C)
(C=>B) => (!C || B)
那么,当C := true的时候
(A=>C)&&(C=>B) => (!A||C) && (!C||B)
(A=>C)&&(C=>B) => B --- F.1A
当C := false的时候,类似地.
(A=>C)&&(C=>B) => !A --- F.1B
于是,不管C取值为何,则有
(A=>C)&&(C=>B) => !A || B
(A=>C)&&(C=>B) => (A=>B) --- F.2
这里有几个有意思的地方.
F.1A/1B是通过带入归纳出来的.
那么,用X_1,X_2,...X_N分别表示上面的A,B,C.
考虑有这么一个代数空间S,是由
X_N和诸如=>,&&,||等算子构成的.
把S考虑为一个有向图的话.
则诸如A=>C)&&(C=>B) => (A=>B)
就可以看作是这个S当中的某两个vertext/代数表示存在edge.
那么一个代数系统就是这个S的一个有向联通的子集.
在这个视角下考虑F.2的意义.
F.2并不是经过某个有向图的基础/基本替换/变换得到的.
也就是,在原有的图基础上,这两点本来是不直接关联的.
是穷举归纳使得这两点产生了一种直接联系.
或者这么考虑.
(!A||C) && (!C||B) 实际上是
(!A||true) && (false||B)
和
(!A||false) && (true||B)
的两条有向路径.
它们存在一个共同的交点(!A||B).
那么换个思路考虑值代入的形式.
即是.
(!A||C)&&(!C||B)有50%的概率走P1路径.
另外50%的路径走P2路径.
而P1 P2的延展方向上存在一个共同vertxt (!A||B).
扩展一下的话.
就是对于一个f(x_n...,c).
c值服从某种分布.
可能存在一个变换是
f(x_n...,c) => g(x_n...)
或者更一般地.
f(x_n...) => g(x_m...)
其中x_m \subseteq x_n.
也就是说,一组高维向量可能存在一个较低维度的向量的代数演算系统描述.
其实就是一组高维描述向低维的投影变换.
考虑神经网络的分类.
看作是feature先高维化,然后低维投影到一个演算系统区域的过程.
如果它是准确的.
那么说明feature张成的有效维度应该是>=m的.
而实际上对于一个特定问题,m其实是未知或者说无从可知的.
对于张成的维度来说,就有几种结果.
大于等于和小于.
大于等于是没什么问题的.
小于的话,则肯定是有缺陷的.
因为如若不是的话,那么原问题的多余维度就是无意义的.
那么,如何确保或者知道张成维度是不是满足呢?
考虑f(x_n...) => g(x_m...)成立的条件并不在于m维的具体取值.
因为本来做的就是拟合/推测/推导一个代数系统.
它成立的核心在于额外的n-m维度的充分概率描述.
也就是c的准确的取值概率分布.
或者说,对于特定的x_m来说,x_{n-m}是充分穷举的.
就像前面例子的C的代入归纳一样.
如果存在一个这样的代数变换的话,那么对于C的穷举路径之间就必然会有一个交点.
C的取值越充分,那么这个交点的准确性就越高.
相对地,如果在做张成维度的时候,如果x_{n-m}各个维度的可取值越多的话.
那么计算可能就越复杂.
因为需要归纳搜索的路径就越多.
这么想的话,如果把每一层网络的非线性变换局限在二值分类上面,可能更容易有相对合理的可解释的结果?
网友评论