美文网首页
凡事架不住亲自跑一把—— Logistic 回归算法篇

凡事架不住亲自跑一把—— Logistic 回归算法篇

作者: Pope怯懦懦地 | 来源:发表于2017-06-19 21:11 被阅读43次

    大家都知道,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[...]比较:

    第一个是 Mathematica 给出的,也就是蓝色的曲面, 第二个是程序跑出来的,只带线框的曲面 这么大空间,居然还有三个半分错的(一个粉红、两个半蓝色)😒

    相关文章

      网友评论

          本文标题:凡事架不住亲自跑一把—— Logistic 回归算法篇

          本文链接:https://www.haomeiwen.com/subject/usjgqxtx.html