当前位置: 首页 > news >正文

线性回归、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. 利用梯度下降法求解。

转载于:https://www.cnblogs.com/Ph-one/p/9366448.html

相关文章:

  • TensorFlow学习---tf.nn.dropout防止过拟合
  • 神经网络优化算法如何选择Adam,SGD
  • tf.nn.relu
  • tf.nn.max_pool
  • 【TensorFlow】tf.nn.max_pool实现池化操作
  • git博客好的例子
  • 桌面版Ubuntu系统固定IP设置和Network-manager设置
  • ubuntu----VMware 鼠标自由切换问题及主机虚拟机共享剪切板问题
  • markdownpad2-注册码-2017-02-23
  • zynq基础--linux下软件应用
  • tftp 传输文件
  • TensorFlow模型保存和加载方法
  • OpenCV常用库函数[典]
  • https://blog.csdn.net/dayancn/article/details/54692111
  • 用C++调用tensorflow在python下训练好的模型(centos7)
  • Cookie 在前端中的实践
  • Fundebug计费标准解释:事件数是如何定义的?
  • hadoop集群管理系统搭建规划说明
  • Javascripit类型转换比较那点事儿,双等号(==)
  • js面向对象
  • JS字符串转数字方法总结
  • Just for fun——迅速写完快速排序
  • k个最大的数及变种小结
  • python3 使用 asyncio 代替线程
  • uni-app项目数字滚动
  • vuex 学习笔记 01
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 你不可错过的前端面试题(一)
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 协程
  • 鱼骨图 - 如何绘制?
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 数论-逆元
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (ibm)Java 语言的 XPath API
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (六)Hibernate的二级缓存
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (四)库存超卖案例实战——优化redis分布式锁
  • (原)Matlab的svmtrain和svmclassify
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)memcache、redis缓存
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net操作Excel出错解决
  • @WebServiceClient注解,wsdlLocation 可配置