逻辑回归本质是分类问题,而且是二分类问题,不属于回归,但是为什么又叫回归呢。我们可以这样理解,逻辑回归就是用回归的办法来做分类。它是在线性回归的基础上,通过Sigmoid函数进行了非线性转换,从而具有更强的拟合能力

sigmoid 函数

https://blog.csdn.net/fenglepeng/article/details/104829873

Logistic回归分类器

为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归系数,然后把所有的结果值相加,将这个总和代入Sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5即被归入0类。所以,Logistic回归也可以被看成是一种概率估计。

所以说,Logistic回归分类器可以看成线性回归与sigmoid的混合函数,是一个二分类的模型(这里是取的0和1,有的算法是+1和-1)

在用于分类时,实际上是找一个阈值,大于阈值的属于1类别,小于的属于0类别。(阈值是可根据具体情况进行相应变动的)

Logistic回归及似然函数

我们假设

把两个式子结合起来

运用极大似然估计得到似然函数

累乘不好求,我们可以求其对数似然函数。最值的问题,求导(第三行到第四行使用了sigmoid函数求导)

求解,使用批量梯度下降法BGD

或者随机梯度下降法SGD

可以发现逻辑回归与线性回归梯度下降求解的形式类似,唯一的区别在于假设函数hθ(x)不同,线性回归假设函数为θTx,逻辑回归假设函数为Sigmoid函数。

线性回归模型服从正态分布,逻辑回归模型服从二项分布(Bernoulli分布),因此逻辑回归不能应用最小二乘法作为目标/损失函数,所以用梯度下降法。

极大似然估计与Logistic回归损失函数

我们要让对数似然函数最大,也就是他的相反数 最小。而 最小化,则可以看成损失函数,求其最小化:

似然函数:

logistic函数

带入得

这个结果就是交叉熵损失函数。

总结

就一句话:通过以上过程,会发现逻辑回归的求解,跟线性回归的求解基本相同。

多分类问题(Multi-class classification)

对于分类多于2个的问题, 可以将其看做二分类问题,即以其中一个分类作为一类,剩下的其他分类作为另一类,多分类问题的假设函数为

one-vs-all/rest 问题解决方法:

Softmax回归模型

Softmax回归是logistic回归的一般化模型,适用于k(k>2)分类的问题,第k类的参数为向量,组成的二维矩阵为(k为类别数,n为特征数,即为每一个类别构建一个,用到的是ova思想)。

参考链接:机器学习之单标签多分类及多标签多分类

Softmax函数的本质就是将一个k维的任意实数向量映射成为另一个k维的实数向量,其中向量中的每个元素的取值都介于(0,1)之间。

Softmax回归的概率函数为:


注释: 计算的是,他属于第k类的回归值,计算的是他属于每个类别的累加,用e的指数是为了加大 大的类别的影响

Softmax回归的似然估计

似然函数:

对数似然函数:

推导和Logistic回归类似,只是将分类的个数从2扩展到k的情形。Softmax算法的损失函数:

梯度下降法

总结

机器学习算法之 logistic、Softmax 回归相关推荐

  1. 【机器学习基础】数学推导+纯Python实现机器学习算法13:Lasso回归

    Python机器学习算法实现 Author:louwill 第13讲和第14讲我们来关注一下回归模型的两个变种模型.本节我们要介绍的是基于L1正则化的Lasso模型,下一节介绍基于L2正则化的Ridg ...

  2. 【机器学习算法】Logistic回归分类算法

    文章目录 一.Logistic回归 1. 分类问题 2. Logistic函数 (1) 阶跃函数(不可导) (2)可导的阶跃函数 二.Logistic回归的算法原理 1. 基本思路 2. 数学解析 ( ...

  3. 【机器学习基础】数学推导+纯Python实现机器学习算法2:逻辑回归

    自本系列第一讲推出以来,得到了不少同学的反响和赞成,也有同学留言说最好能把数学推导部分写的详细点,笔者只能说尽力,因为打公式实在是太浪费时间了..本节要和大家一起学习的是逻辑(logistic)回归模 ...

  4. python 怎么算l2范数_数学推导+纯Python实现机器学习算法13:Lasso回归

    版权说明:本公号转载文章旨在学习交流,不用于任何商业用途,版权归原作者所有,如有异议,敬请后台联络我们,议定合作或删除,我们将第一时间按版权法规定妥善处理,非常感谢! Python机器学习算法实现 A ...

  5. 机器学习概念总结笔记(一)——机器学习算法分类、最小二乘回归、岭回归、LASSO回归

    原文:https://cloud.tencent.com/community/article/137341 机器学习概念总结 1,机器学习算法分类 1)监督学习: 有train set,train s ...

  6. 【机器学习基础】数学推导+纯Python实现机器学习算法14:Ridge岭回归

    Python机器学习算法实现 Author:louwill 上一节我们讲到预防过拟合方法的Lasso回归模型,也就是基于L1正则化的线性回归.本讲我们继续来看基于L2正则化的线性回归模型. L2正则化 ...

  7. 选取最优模型--scikit-learn的Python中抽查回归机器学习算法

    抽查是一种发现哪种算法在机器学习问题上表现良好的方法. 无法事先知道哪种算法是最适合的,必须尝试多种方法并将注意力集中在那些证明最有效果的方法上. ------------------- 概述 本文将 ...

  8. 机器学习算法——集成方法(Ensemble)之Stacking

    本文是基于<kaggle比赛集成指南>来进行总结的概述什么是集成学习,以及目前较为常用的技术.这里主讲的集成学习技术用于分类任务,关于回归和预测这块不太了解,读者可自行查询相应博客或者论文 ...

  9. 成为顶尖机器学习算法专家需要知道哪些算法?

    2019独角兽企业重金招聘Python工程师标准>>> 成为顶尖机器学习算法专家需要知道哪些算法? 摘要:顶尖的机器学习专家需要的算法,要不要? 机器学习算法简介 有两种方法可以对你 ...

最新文章

  1. 【Android 应用开发】 Application 使用分析
  2. python 如何生成特定间隔数列?range()、numpy.arange()
  3. 校园技术工坊丨云开发校园执行官招募开启!
  4. C语言ASM汇编内嵌语法zz
  5. 年轻人应该买房还是租房,我给你理性分析
  6. vlc-android编译流程
  7. 活到老,学到老!各大厂数据库技术解决方案来了
  8. 披着 Chromium 皮的微软 Edge 浏览器到底长什么样?
  9. Python测试Kafka集群(pykafka)
  10. IntelliJ IDEA开发Java笔记
  11. 番茄助手Visual Assistx报错The security key for this program currently。。
  12. 死链接检测 java,【死链接检测】工具查询方法及死链接处理方法
  13. 涛思数据库(二)——上手使用
  14. java 异常 中英文_Java异常与错误处理中英文翻译.doc
  15. miRNA数据库篇——miRDB:软件预测的哺乳动物miRNA靶基因数据库(假阳性较高)
  16. Jenkins查看凭据的密码
  17. 一台计算机连接两个投影,事实:如何将两个外接显示器连接到笔记本电脑以同时实现三个屏幕?...
  18. probably,possibly,may的用法区别是什么呀
  19. matlab error 15,为什么我遇到了“License Manager Error -15”的错误?
  20. Mac OS X 系统更新升级包下载后的存储位置

热门文章

  1. 不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉
  2. 超简单:解析 yml 类型(application.yml)配置文件 、springboot 工程读取 yml 文件中的值
  3. 深入浅出 消息队列 ActiveMQ
  4. 地址解析协议 (ARP) 是什么
  5. Docker 容器 和 虚拟机 的异同
  6. Eclipse断点调试出现Source not found
  7. Shell编程入门基础上
  8. MYSQL安装报错 -- 出现Failed to find valid data directory.
  9. 牛客网——最简真分数
  10. leetcode add Two Numbers