0%

逻辑回归和神经网络_DL体会总结_2

以前总听别人说做广告CTR需要用到LR,经常会在log中提取各种特种,一般是从Hadoop中跑出特征,然后再放到LR的并行系统上,进行计算,然后通过划分实验流量,做A/B Test。如果效果好,则新特征上线。

而我之前由于没有ML的基础,所以直接学NN,感觉全世界就只有NN,回头想想好像LR还是能够在其他很多场景下应用。

LR和NN的区别主要在于,LR是把一个线性函数 $ f(x) = Wx + b $ 的结果,通过sigmoid函数映射到(0,1)上,然后用概率来解释这个结果。映射函数如下: $$ \sigma(z)=\frac{1}{1+e^{-(Wx+b)}} $$ 对于线性函数,他的能力有限,比较直来直去,无非就是直线或者平面,来区分所有样本。这样对于一些比较复杂的样本分布,就会产生很多误差。

逻辑回归对复杂分布的分类情况

神经网络hidden layer有4个节点的分类情况

第一个图是逻辑回归对复杂数据分布的分类情况,第二个图是神经网络hidden layer有4个节点的分类情况(参考:Planar data classification with one hidden layer)。明显具有hidden layer的NN表现更好。科学家们好像能够证明NN可以表示任何复杂的函数,我没必要深究其中的数学证明了。

我目前的理解就是,神经网络把多个神经单元(线性函数+激活函数)整合在一起,然后在隐含层通过一种无法描述的魔力自行提取特征,然后在最后一层,仍然用线性分类函数对结果进行分类。后面的Loss function、SGD就都是一样的了。神经网络多了一点就是BP算法,主要的原理就是复合函数求导。前一篇(http://wliang.me/2018/02/05/20180205_DL学习笔记_逻辑回归/)的时候我也总结过。

我想总结时没比较加入太多数学公示,还是把直观的理解通过文字图表表达清楚最好,毕竟我又不去做research,我只是想做application。对自己放松点要求。