AI_Start_2.2 异或问题的解决

XOR函数,直接应用原始输入额线性模型不能实现XOR函数,【0,0】== 0、【0,1】== 1、【1,0】== 1、【1,1】== 0

1.1 XOR背景

   XOR 对于【0,0】、【0,1】、【1,0】、【1,1】中出现1的输出结果为1,导致出现了【0、1】和【1、0】的结果都是1,

但线性模型里 x1 == 0 时,输出必须是随x2 的增大而增大,当 x1 == 1 时,输出必须时随 x2 的增大而减小; 直接应用于原始输入的线性模型,不能实现 XOR 函数。

1.2 解决办法

   示例的解决方案中将 输出为1的两个点折叠到了一个点上,换句话说,非线性特征将 x = [1, 0] , x = [0, 1] 都映射到 h = [1, 0] 中。

这时模型可以将函数描述为【0,0】、【1,0】、【1,0】、【2,1】

1.3 怎么解决

  【1,0】、【1,0】 -> 【1,0】可以通过乘以单位矩阵,变成【1,1】再做一个偏置,减1即可,【1,0】

但是此时将是线性变化,导致原来的【0,0】->【0,-1】,【1,1】->【2,1】, 

在这样一个样本空间里,所有的样本都处于一条斜率为1的直线上,

此时加 Relu即可变成:

【0,0】、【1,0】、【1,0】、【2,1】,最后乘上权重矩阵,结果就是 【0,1, 1, 0】

权重矩阵【0.5, 0.5, -0.5, -1】

你可能感兴趣的:(AI_Start_2.2 异或问题的解决)