zoukankan      html  css  js  c++  java
  • 线性模型和非线性模型的区别,以及激活函数的作用

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

    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影响,所以此模型不是一个线性模型,是个非线性模型。

  • 相关阅读:
    django-rest-framework
    史上最全的状态码
    __new__、__init__、__call__三个特殊方法
    量化投资与Python之pandas
    MongoDB 3.0 Release Notes
    TokuMX写操作无法加锁的问题
    TokuMX唯一索引不支持dropDups选项
    接着写吧
    Windows下Python IDLE设置
    20145320周岐浩免考
  • 原文地址:https://www.cnblogs.com/toone/p/8574294.html
Copyright © 2011-2022 走看看