zoukankan      html  css  js  c++  java
  • 线性回归、Logistic回归、Softmax回归

    线性回归(Linear Regression

    1. 什么是回归?                   

    给定一些数据,{(x1,y1),(x2,y2)…(xn,yn) },x的值来预测y的值,通常地,y的值是连续的就是回归问题,y的值是离散的就叫分类问题

    高尔顿的发现,身高的例子就是回归的典型模型。

    1. 回归分为线性回归(Linear Regression)和Logistic 回归。

    线性回归可以对样本是线性的,也可以对样本是非线性的,只要对参数是线性的就可以,所以线性回归能得到曲线

    1. 线性回归的目标函数?

    (1)

    了防止过拟合,将目标函数增加平方和损失

    (2)

    增加了平方和损失,是2次的正则,叫L2-norm,有个专有名字:Ridge。【岭回归】

    也可以增加绝对值损失,叫L1-norm,也有个专有名字:Lasso。

    都假定参数θ服从高斯分布。

    1. 目标函数的推导?

    以极大似然估计解释最小二乘。过程如下:

    (3)

    1. θ的解析式?

    一句话:目标函数对θ求偏导,再求驻点。

    防止过拟合,加入λ扰动:本质是L2-norm

    1. 梯度下降算法?

    梯度下降得到得是局部最小值,而不是全局最小值。

    SGD随机梯度下降的优点?

    1. 速度快
    2. 往往能跳出局部最小值
    3. 适合于在线学习

    由于线性回归的目标函数是凸函数,所以在这个地方用梯度下降得到的就是全局最小值。

    沿着负梯度方向迭代,更新后的θ会使得J(θ)更小。

    注意:这里是对某一个样本,对θj求偏导。

    每一个样本都对此时的θj求偏导。

    注意:梯度是矢量,既有方向,又有值。例如,在二维空间中的表现为斜率,当斜率为1时,能想象方向,1不就是它的值吗?厉害了,竟然现在才明白过来。

    梯度下降:(又称批量梯度下降batch gradient descent

    得到所有样本后,再做梯度下降。

    随机梯度下降:(stochastic gradient descent

    来一个样本就进行梯度下降,来一个样本就进行梯度下降,适合于在线学习。

    还有一个二者的折衷:

    mini-batch:

    攒够若干个做一次批梯度下降,若干个样本的平均梯度作为下降方向。

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------------

    LR(Logistic Regression)Logistic回归

    广义线性模型(General Linear Regression  GLR)

    1.Logistic回归的损失函数?

    负对数似然NLL。

    Softmax回归是Logistic回归的多分类情况

    沿着似然函数正梯度上升

    这个图很能理解线性回归和LR回归之间的关系。

    LogisticRegression 就是一个被logistic方程归一化后的线性回归,仅此而已。

    1. 提到Logistic回归,首先要说他跟线性回归的联系:其实就是被Logistic方程归一化的线性回归。将预测的输出映射到0,1之间。以概率判断类别,大于0.5,判为一类,小于0.5判为一类。
    2. Logistic 方程/Sigmoid 函数,大概长这样。

    概率分布函数:

    似然函数:

    对数似然:

    对θj求偏导:

    沿着梯度上升。梯度上升也行,梯度下降也对。

    注意:线性回归里面求损失函数的最小值得时候用到了梯度下降算法。

    一定注意,那个是求损失函数的最小值,越小越好,当然用下降;而在这里,要求对数似然函数的最大值,则需要沿着梯度上升,越大越好。到最后得到极大似然估计值θ,那么学到的Logistic回归模型就是:

    一定注意,这两次用梯度的目的不同,一次是为了损失值最小,一次是为了似然值最大,一个下降,一个上升!

    Logistic的损失函数:

    负对数似然损失函数NLL。

    可以很好的解释。

    常见的损失函数

    机器学习或者统计机器学习常见的损失函数如下:

    1.0-1损失函数 (0-1 loss function)

     

    2.平方损失函数(quadratic loss function)

     

    3.绝对值损失函数(absolute loss function)

    L(Y,f(x))=|Y−f(X)| 

    4.对数损失函数(logarithmic loss function) 或对数似然损失函数(log-likehood loss function)

     

    逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好。

    说说对数损失函数与平方损失函数

    在逻辑回归的推导中国,我们假设样本是服从伯努利分布(0-1分布)的,然后求得满足该分布的似然函数,最终求该似然函数的极大值。整体的思想就是求极大似然函数的思想。而取对数,只是为了方便我们的在求MLE(Maximum Likelihood Estimation)过程中采取的一种数学手段而已。

    全体样本的损失函数可以表示为:


    这就是逻辑回归最终的损失函数表达式。

    Logistic 回归的总结:

    优点:方法简单、容易实现、效果良好、易于解释

    特征选择很重要:人工选择,随机森林、PCA、LDA

    梯度下降算法是参数优化的重要手段,尤其是SGD。(适用于在线学习,能挑出局部极小值。)

    Softmax回归

    Logistic回归的推广,概率计算公式:

     

     

     

    本章总结:

    对于线性回归,求解参数θ即可,可以用解析解的方法求解,也可以用梯度下降的方式求解。

    对于Logistic回归和Softmax回归,推导及求解方式相同。基本遵循以下步骤:

      1. 给出分类概率函数
      2. 求累加的似然函数
      3. 转换为对数似然函数求驻点
      4. 利用梯度下降法求解。
  • 相关阅读:
    HOJ 2139 Spiderman's workout(动态规划)
    FZU 2107 Hua Rong Dao(dfs)
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
  • 原文地址:https://www.cnblogs.com/Ph-one/p/9366448.html
Copyright © 2011-2022 走看看