机器学习中线性模型和非线性的区别

来源:互联网 发布:程小青 知乎 编辑:程序博客网 时间:2024/06/03 23:00

误区

  • 线性和非线性的区别是是否可以用直线将样本划分开(这个观点是对的)
  • 和同学讨论到logistics模型是线性还是非线性的,很难理解!(logistics模型是广义线性模型)
  • 区分一下回归和分类问题,线性模型是可以用来曲线拟合(回归)的,但是线性模型模型的分类一定是一条直线的,例如logistics模型。

线性模型和非线性模型区别

  1. 线性模型可以是用曲线拟合样本,但是分类的决策边界一定是直线的,例如logistics模型
  2. 区分是否为线性模型,主要是看一个乘法式子中自变量x前的系数w,如果w只影响一个x,那么此模型为线性模型。或者判断决策边界是否是线性的
  3. 举例
    y=11+ew0+w1x1+w2x2

    画出yx是曲线关系,但是它是线性模型,因为x1*w1中可以观察到x1只被一个w1影响

y=11+w5ew0+w1x1+w2x2

此模型是非线性模型,观察到x1不仅仅被参数w1影响,还被w5影响,如果自变量x被两个以上的参数影响,那么此模型是非线性的!
4 其实最简单判别一个模型是否为线性的,只需要判别决策边界是否是直线,也就是是否能用一条直线来划分

神经网络是非线性

虽然神经网络的每个节点是一个logistics模型,但是组合起来就是一个非线性模型。
此处我们仅仅考虑三层神经网络
这里写图片描述

第一层的表达式

y1=11+ew0+w1x1+w2x2+w3x3

y2=11+ew4+w5x1+w6x2+w7x3

第二层的表达式

z=11+ek1+k2y1+k3y2

将第一层的表达式带入第二层表达式中,可以观察到x1变量不仅仅被w1影响还被k2影响,所以此模型不是一个线性模型,是个非线性模型。