2018-10-09

由一个基本逻辑谈起

一个定义.
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}各个维度的可取值越多的话.
那么计算可能就越复杂.

因为需要归纳搜索的路径就越多.

这么想的话,如果把每一层网络的非线性变换局限在二值分类上面,可能更容易有相对合理的可解释的结果?

没有评论:

发表评论

爽文

去看了好东西. 坦白说,多少是带着点挑刺的味道去的. 毕竟打着爱情神话和女性题材的气质,多多少少是热度为先了. 看完之后倒是有些新的想法. 某种程度上来说,现在的年轻人或者说声音就像小叶. 只要说点贴心的话就能哄好. 也是那种可以不用很努力了. 留在自己的舒适区避难所小圈子抱团就...