线性模型和非线性模型的区别,以及激活函数的作用
线性模型和非线性模型的区别?
a. 线性模型可以用曲线拟合样本,线性模型可以是用曲线拟合样本,但是分类的决策边界一定是直线的,例如logistics模型(广义线性模型,将线性函数进行了一次映射)。
b. 区分是否为线性模型,主要是看一个乘法式子中自变量x前的系数w,如果w只影响一个x,那么此模型为线性模型。或者判断决策边界是否是线性的
举例:
\[y=\frac{1}{1+e^{w_0+w_1*x_1+w_2*x_2}}
\]
画出y和x是曲线关系,但是它是线性模型,因为x1*w1中可以观察到x1只被一个w1影响
\[y=\frac{1}{1+w_5*e^{w_0+w_1*x_1+w_2*x_2}}
\]
此模型是非线性模型,观察到x1不仅仅被参数w1影响,还被w5影响,如果自变量x被两个以上的参数影响,那么此模型是非线性的!
c. 其实最简单判别一个模型是否为线性的,只需要判别决策边界是否是直线,也就是是否能用一条直线来划分
引申问题: 神经网络激励函数的作用是什么?
神经网络激励函数的作用是什么?有没有形象的解释? - lee philip的回答 - 知乎
https://www.zhihu.com/question/22334626/answer/21036590
总结:sigmoid激活函数可以引入非线性因素,让模型学习到一个分类平面,得到一个非线性的决策边界,如下图
举例:
线性模型:LR
Logistic Regression模型是广义线性模型,因为 logistic 回归的决策边界(decision boundary)是线性的:
LR是线性模型,可以理解为将普通的线性模型的结果映射到一个(0,1)的区间而已,然后划分一个界限(0.5)
非线性模型:神经网络
虽然神经网络的每个节点是一个logistics模型,但是组合起来就是一个非线性模型。
此处我们仅仅考虑三层神经网络
第一层的表达式:
\[y1=\frac{1}{1+e^{w_0+w_1*x_1+w_2*x_2+w_3*x_3}}
\]
\[y2=\frac{1}{1+e^{w_4+w_5*x_1+w_6*x_2+w_7*x_3}}
\]
第二层的表达式:
\[z=\frac{1}{1+e^{k_1+k_2*y_1+k_3*y_2}}
\]
将第一层的表达式带入第二层表达式中,可以观察到x1变量不仅仅被w1影响还被k2影响,所以此模型不是一个线性模型,是个非线性模型。