大家都知道,Logistic 函数长这样:
sigmoid function: z = 1 / ( 1 + exp(-x) )但从来没人告诉我,二维的 Logistic 函数长啥样😒
z = 1 / ( 1 + exp(-(x+y)) )所以,我更喜欢叫它「瀑布函数」。仔细观察可以发现,指数部分的函数控制着边界。通过改变这部分函数,我们可以得到一些很好看的「瀑布」。
z = 1 / ( 1 + exp(-(x^3-x^2+x+y)) ) z = 1 / ( 1 + exp(-(-x^2-x+y)) )就此,神经网络的奥秘掀开一角。这就是为什么神经网络结点总会在汇总前一层输入之后要做一次 logistic 操作(搞神经网络的那帮人喜欢叫 sigmoid function)。但奇怪的是,为什么明明线性的操作,最后竟然可以得到非线性的划分?而明明可以用高次元操作做到非线性分类,却偏偏要舍近求远,搞出多层出来?
我跑了下一维数据的分类,和 Mathematica 跑的结果出入有点点大😓
1 / ( 1 + exp(1.93 - 0.76 x) )
那条慢悠悠往上爬的是我跑的😑
分界线迁移路线
试了把二维的数据:
各种乱入的中间过程 二维数据的分类结果不知道为什么,会摇摆这么久。好在结果还过得去😓
和 Mathematica 的 LogitModelFit[...]
比较:
网友评论