【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)

news2024/12/24 8:50:09

目录

🍔 逻辑回归应用场景

🍔 极大似然估计

2.1 为什么要有极大似然估计?

2.2 极大似然估计步骤

2.3 极大似然估计的例子

🍔 Sigmod函数模型

3.1 逻辑斯特函数的由来

3.2 Sigmod函数绘图

3.3 进一步探究-加入线性回归

3.4 结果解释

3.5 对数似然损失函数


🍔 逻辑回归应用场景

在KNN算法中直接可以得出预测结果,但是如果想输出预测结果,还要输出预测结果的概率,这时候就需要使用逻辑回归解决问题。

比如,预测性别的时候,预测为男性,同时预测概率为90%,这样可以通过概率更加具有说服力。

🍭 应用场景

逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。

  • 广告点击率

  • 是否为垃圾邮件

  • 是否患病

  • 金融诈骗

  • 虚假账号

看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器。

🍔 极大似然估计

2.1 为什么要有极大似然估计?

例子:我与一位猎人一起外出打猎,一只野兔从前方穿过,只听到一声枪响,野兔应声倒下。问是谁倒下的呢?

答:极有可能是猎人。

显然候选人就两个,我和猎人。若选择我,则事件发生的发生概率为0.01%,因为我不会打猎;若选择猎人,则事件发生的概率为99%,而事件已经发生,因此选择猎人更为合适。

🐼 极大似然估计的思想:

设总体中含有待估参数w,可以取很多值。已经知道了样本观测值(例子中的兔子被猎人打死了),从w的一切可能值中(引例中是我和猎人)选出一个使该观察值出现的概率为最大的值,作为w参数的估计值,这就是极大似然估计。(顾名思义:就是看上去那个是最大可能的意思)

2.2 极大似然估计步骤

🐻 求极大似然函数估计值的一般步骤:

  (1) 写出似然函数;

  (2) 对似然函数取对数,并整理;

  (3) 求导数 ;

  (4) 解似然方程

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

当然极大似然估计只是一种粗略的数学期望,要知道它的误差大小还要做区间估计。

🍔 Sigmod函数模型

3.1 逻辑斯特函数的由来

🐼 Sigmod函数,也称之为逻辑斯特函数

假设一事件发生的概率为P,则不发生的概率为1-P,我们把发生概率/不发生概率称之为发生的概率比,数学公式表示为:

更进一步我们定义logit函数,它是概率比的对数函数(log-odds)

Logit函数耳朵输入值范围介于[0,1]之间,它能将输入转换到整个实数范围内。

对logit函数求反函数,我们将logit的反函数叫做logistic函数:

该函数的图像如下图:

对图像的理解:sidmod函数以实数值作为输入并将其反射到[0,1]区间,拐点在y=0.5地方。

3.2 Sigmod函数绘图

🍭 需求:绘制[-7,7]的sigmod函数图像

import matplotlib.pyplot as plt
import numpy as np

def sigmod(z):
    return 1.0/(1.0+np.exp(-z))

z=np.arange(-7,7,0.1)
phi_z=sigmod(z)

plt.plot(z,phi_z)
plt.axvline(0.0,color='k')
plt.axhspan(0.0,1.0,facecolor='1.0',alpha=1.0,ls='dotted')
plt.yticks([0.0,0.5,1.0])
plt.ylim(-0.1,1.1)
plt.xlabel('z')
plt.ylabel('$\phi (z)$')
plt.show()

 函数图像如图所示💯 :


  1. 逻辑回归的分类结果是通过属于某个类别的概率值来判断

  2. 预测概率大于 50% 则分为类1类别(正例), 反之为0类别(反例)

3.4 结果解释

输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。

关于逻辑回归的阈值是可以进行改变的,比如上面举例中,如果你把阈值设置为0.6,那么输出的结果0.55,就属于B类。

在学习逻辑回归之前,我们用均方误差来衡量线性回归的损失。

🐼 在逻辑回归中,当预测结果不对的时候,我们该怎么衡量其损失呢?

我们来看下图(下图中,设置阈值为0.6),

那么如何去衡量逻辑回归的预测结果与真实结果的差异?

首先我们进行逻辑斯特回归函数的表示学习。

3.5 对数似然损失函数

假设:有 0、1 两个类别,某个样本被分为 1 类的概率为: p, 则分为 0 类的概率为 1-p,则每一个样本分类正确的概率为:

上述公式可转换为:

假设,我们现在有样本:[(x1, y1), (x2, y2) … (xn, yn)],那么,全部预测正确的概率表示为:

通过极大化事件概率,从而估计出模型参数。

接下来,将上式其转换为对数加法的形式:

上述公式为最大化问题。

增加一个负号,将其变为最小化问题,公式再次转换如下:

此时,得到逻辑回归的对数似然损失函数.

如上述案例,我们就带入上面那个例子来计算一遍,就能理解意义了。

我们已经知道,-log(P), P值越大,结果越小,所以我们可以对着这个损失的式子去分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【爬虫】 使用AI编写B站爬虫代码

记录一次,自己不写一行代码,所有的代码全由AI编写的过程。 本次使用的AI工具为:Claude 其他AI工具同理。 首先,观察哔哩哔哩网页的结构,定位到了包含视频信息的关键元素。右键检查或打开F12,找到最左侧的这…

2024前端面试题-js篇

1.js有哪些数据类型 基础数据类型:string,number,boolean,null,undefined,bigInt,symbol 引用数据类型:Object 2.js检测数据类型的方式 typeof:其中数组、对象、null都会被判断为object&…

基于WebSocket打造的一款SSH客户端

引用:Java打造一款SSH客户端,而且已开源_java ssh客户端-CSDN博客 由于原作者是放在Github上,不方便下载,所以下载下来,转存到码云上,地址:https://gitee.com/lfw1024/web-ssh 为了满足一些小白…

计算机毕业设计选题推荐-股票数据可视化分析与预测-Python爬虫

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Windows10拿到shell后远程登录

一、准备工作 kali机:192.168.19.130 win10:192.168.19.133 主机:192.168.1.73(自己操作可以在kali上,我这是因为反弹的shell在主机上) 二、开启远程登录 1.win10上关闭实时保护,并且运行了…

[C++] C++11详解 (一)

标题:[C] C11详解 (一) 水墨不写bug 目录 前言 一、列表初始化 二、STL的初始化列表(initializer_list —— Cplusplus.com) 三、声明方式(auto、decltype、nullptr) 1.auto ​编辑 2.decltype 正文开始&#x…

Spark环境搭建-Local

目录 Local下的角色分布: Anaconda On Linux 安装 (单台服务器) 1.下载安装 2.国内源 下载Spark安装包 1.下载 2.解压 3.环境变量 测试 监控 Local下的角色分布: 资源管理: Master:Local进程本身 Worker:L…

UE5.4 - 编辑器页面和概念术语

目录 一. 打开新项目 二. 主页面 1.菜单栏 2.工具栏 3.视口 4.内容侧滑菜单/内容浏览器 5.底部工具栏 6.大纲 7.细节面板 三. 虚幻引擎术语 四. 进一步的术语 五. 总结 一. 打开新项目 选择 虚幻引擎 -> 库 -> 启动 选择类型,选择示例的项目,可以把这些都选选…

探索WebSocket在ASP.NET Core中的实时通信应用与实现策略

文章目录 前言一、创建 ASP.NET Core 项目二、配置中间件以支持 WebSocket1.启动类Program.cs2.WebSocket连接管理器3.WebSocket事件管理器4.WebSocket连接入口 三、客户端实现总结 前言 在 ASP.NET Core 中集成 WebSocket 是一种实现实时通信的有效方式。WebSocket 提供了一个…

什么是TCP三次握手和四次挥手,TCP协议详细解析!零基础入门到精通,收藏这一篇就够了

TCP是TCP/IP协议族中一个最核心的协议,它向下使用网络层IP协议,向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。本文给出TCP报文格式的详细说明,介绍网络数据包传递中如何进行地址解析、建立TCP连接的三次握手过程以及断开T…

【docker】使用github action来自动发布项目到dockerhub

本文首发于 ❄️慕雪的寒舍 使用github action来自动发布项目到dockerhub。参考 https://msdemt.github.io/p/github-action-build-docker/ 博客 1.准备工作 1.1 dockerhub token https://hub.docker.com/settings/security 登录dockerhub,在用户的account settin…

【具体数学 Concrete Mathematics】1.1 递归问题 讲义

【具体数学 Concrete Mathematics】1.1 递归问题 导入 本节(1.1、1.1.1-1.1.3)主要围绕《具体数学》第一章 递归问题(Recurrent Problems)讲义部分的三个问题展开,分别是汉诺塔、平面上的直线以及约瑟夫问题。下面简单介绍一下递归问题和数学…

复数的处理

复数的处理 复数 V V V 定义为在 ( x , y ) (x,y) (x,y)-平面中实数对的有序集合。在这方面,复数可以被视为原点 ( 0 , 0 ) (0,0) (0,0) 上的向量。从这个角度看,复数的加法类似于 ( x , y ) (x,y) (x,y)-平面中向量的加法。 然而,乘法…

Vue3 国际化i18n语言库 网站多语言切换

介绍 在 Vue 3 项目中,国际化(i18n)是一个常见的需求,它允许你的应用支持多种语言,并根据用户的语言偏好显示相应的内容。为了实现国际化,你可以使用 vue-i18n 这个库,它是 Vue 官方推荐的国际…

vue常见**MS题 [2]

vue问题及理解 1、介绍一下vue2和vue3的区别 ‌Vue2和Vue3的主要区别体现在双向数据绑定原理、生命周期钩子函数、API、多根节点、性能和体积等方面。‌‌双向数据绑定原理‌:Vue2使用Object.defineProperty实现双向数据绑定,而Vue3则利用ES6的Proxy特性…

赚大钱和赚小钱,哪个更累?

最近一直在质疑我在做的项目,虽然有同行做到了很好的成绩,但是我还是质疑。 因为一直在赚小钱,接触到的也是新手、底层客户、墨迹客户。 越是钱少的生意,越不好做,客户越挑剔。 而且赚小钱会消磨人的心智。 前几年…

解决前端访问IIS服务器发生跨域请求报错的方法

现在WEB开发都是前后端分离的模式了,当前端代码访问后端WEB服务器时,经常会发生跨域请求报错的问题。   如果是IIS服务器,可以通过下面的方式轻松解决。   由于出现跨域问题是因为服务器返回的页面在返回头中没有设置“Access-Control-Al…

Servlet---Web会话跟踪 ▎token令牌

▍为什么要进行Web会话跟踪? http请求是无状态的,不携带用户信息的,当用户登录成功后,之后在于服务器交互时,服务器并不知道是哪个用户发送的请求 ▍Web会话跟踪 解决方法:在用户成功登录后,后端向前端响应token令牌(token令牌:用户信息),前端保存token令牌每次访问后端都先…

药店药品进销存管理系统药品出库药品入库药品销售-社区医院药品管理-基于JAVA+vue开发

2.2 业务流程分析 在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态…

Hadoop 中的大数据技术:Zookeeper安装 (2)

目录 下载地址 本地模式安装 1)安装前准备 2)配置修改 3)操作 Zookeeper 配置参数解读 Zookeeper 集群操作 集群规划 解压安装 配置服务器编号 配置 zoo.cfg 文件 集群操作 Zookeeper 集群启动停止脚本 创建脚本 增加脚本执行权限 …