广义线性模型

article/2025/8/19 18:04:36

今天我来介绍一种在机器学习中应用的比较多的模型,叫做广义线性模型(GLM)。这种模型是把自变量的线性预测

函数当作因变量的估计值。在机器学习中,有很多模型都是基于广义线性模型的,比如传统的线性回归模型,最大熵

模型,Logistic回归,softmax回归,等等。今天主要来学习如何来针对某类型的分布建立相应的广义线性模型。

 

Contents

 

   1. 广义线性模型的认识

   2. 常见概率分布的认识

 

 

1. 广义线性模型的认识

 

   首先,广义线性模型是基于指数分布族的,而指数分布族的原型如下

 

   

 

   其中为自然参数,它可能是一个向量,而叫做充分统计量,也可能是一个向量,通常来说

 

   实际上线性最小二乘回归和Logistic回归都是广义线性模型的一个特例。当随机变量服从高斯分布,那么

   得到的是线性最小二乘回归,当随机变量服从伯努利分布,则得到的是Logistic回归。

 

   那么如何根据指数分布族来构建广义线性模型呢? 首先以如下三个假设为基础

 

   (1)给定特征属性和参数后,的条件概率服从指数分布族,即

   (2)预测的期望,即计算

   (3)之间是线性的,即

 

   在讲解利用广义线性模型推导最小二乘和Logistic回归之前,先来认识一些常见的分布,这是后面的基础。

 

 

2. 常见概率分布的认识

  

  (1)高斯分布

 

      关于高斯分布的内容我就不再多讲了,如果把它看成指数分布族,那么有

 

      

 

         对比一下指数分布族,可以发现

 

      

 

      所以高斯分布实际上也是属于指数分布族,线性最小二乘就是基于高斯分布的。

 

     

  (2)伯努利分布

 

      伯努利分布又叫做两点分布或者0-1分布,是一个离散型概率分布,若伯努利实验成功,则伯努利随机变

      量取值为1,如果失败,则伯努利随机变量取值为0。并记成功的概率为,那么失败的概率就是

      所以得到其概率密度函数为

 

                          

 

         如果把伯努利分布写成指数分布族,形式如下

 

       

 

      对比指数分布族,有

 

      

 

      Logistic回归就是基于伯努利分布的,之前的Sigmoid函数,现在我们就可以知道它是如何来的了。如下

  

      

 

      如果

 

      

 

      那么叫做正则响应函数,而叫做正则关联函数

    

 

  (3)泊松分布

  

      泊松分布是一种离散型概率分布,其随机变量只能取非负整数值0,1,2,... 且其概率密度函数为

 

      

 

      其中参数是泊松分布的均值,也是泊松分布的方差,表示单位时间内随机事件的平均发生率。在实际

      的实例中,近似服从泊松分布的事件有:某电话交换台收到的呼叫,某个网站的点击量,来到某个公共

      汽车站的乘客,某放射性物质发射出的粒子,显微镜下某区域内的白血球等计数问题。

 

      泊松分布的内容:http://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88

 

 

   关于概率论中的分布主要介绍这几个,其中还有很多分布都属于指数分布族,比如伽马分布,指数分布,多

   元高斯分布,Beta分布,Dirichlet分布,Wishart分布等等。根据这些分布的概率密度函数可以建立相

   应的模型,这些都是广义线性模型的一个实例。

 

 


http://chatgpt.dhexx.cn/article/CZSX3CJn.shtml

相关文章

广义线性模型(Generalized Linear Model)

转载于:广义线性模型(Generalized Linear Model) - 肉鹅阿笨 - 博客园 (cnblogs.com) 1.指数分布族 我们在建模的时候,关心的目标变量Y可能服从很多种分布。像线性回归,我们会假设目标变量Y服从正态分布,而…

R|广义线性模型知识点归纳

本文分为两个部分: (1)广义线性模型的分类及其运用场景; (2) 相关R代码。需要说明的是,参考资料是上课课件,根据本人理解整理,如果有不对的地方,欢迎探讨! 目录 引言 1. 广义线性模型 (1)二…

IOS CoreData 多表查询(上)

在网上搜索了下,发现只有部分讲解CoreData关系的,但对多表之间的查询并没有相应的介绍。 因此操作自己写了个。 先创建几个表。 1、部门表:department dp_id Integer primary key dp_deptname varchar(20) //使用coredata实体创建时用…

iOS CoreData详解(五)多线程

原创blog,转载请注明出处 blog.csdn.net/hello_hwc 欢迎关注我的iOS SDK详解专栏,这里有很多基础的文章 http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html 前言:很多小的App只需要一个ManagedContext在主线程就可以了&…

CoreData在Xcode 8 中的使用

如需转载,请注明出处 在Xode8之前,CoreData的使用是非常方便的,先创建一个DataModel , ,然后创建NSManagedObject SubClass,都是一个界面上操作,非常方便,但是更新过Xcode 8后,CoreData的创建需要进行一…

CoreData

Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。(1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系(2)N…

Core Data详解

转载于:程序媛与程序猿 7.1. 什么是Core Data Core Data是一个Cocoa框架,用于为管理对象图提供基础实现,以及为多种文件格式的持久化提供支持。管理对象图包含的工作如撤销(undo)和重做(redo&#xff…

Coredata的版本升级

在开发的后期,可能因为完善和修复功能,需要对Coredata数据库表进行修改,这样就需要对CoreData进行版本升级。 比如你修改了DB字段以后,用户在旧版本上升级为新版本时会crash. 因为升级只升级了应用app,没有升级目录下的数据据db文…

在建好的项目中加入CoreData

这几天在做一个ios的小项目,项目中需要对数据进行基本的增删改查操作。于是就想用一把CoreData。但在创建项目初期,没有包含进CoreData。于是就在已建好的项目中加入CoreData。由于第一次用CoreData,各方面还不是很熟悉,在网上爬文…

CoreData的简单使用

简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何…

数据持久化(五)之CoreData

简单的说,Core Data就是可以存储到磁盘的对象图,[...]Core Data可以帮我们做很多任务作.它可以作为软件的整个模型层。它不仅仅在磁盘上存储数据,也把我们需要的数据对象读取到内存中。 ——Marcus Zarra, Core Data Core Data是Mac OS X中Cocoa API的一部分&#…

coredata 详解

原文:Core Data Overview,感谢CocoaChina翻译组帮忙校对。 Core Data可能是OS X和iOS里面最容易被误解的框架之一了,为了帮助大家理解,我们将快速的研究Core Data,让大家对它有一个初步的了解,对于想要正确…

Core Data 详解

Core Data是一个Cocoa框架,用于为管理对象图提供基础实现,以及为多种文件格式的持久化提供支持。管理对象图包含的工作如撤销(undo)和重做(redo)、有效性检查、以及保证对象关系的完整性等。对象的持久化意…

Core Data概述

昨晚熬夜看发布会(本以为屌丝终于能买得起苹果了,谁知道。。。),因为看不了视频直播,所以就正好有空就把www.objc.io最新的一篇文章翻译了一下,同时感谢CocoaChina翻译组提供校对,以下为正文: Core Data可能…

CoreData 的使用

CoreData其实就是Apple为开发者提供的便捷数据存储方式,本质是对sqlite数据库的操作,操作的数据量为中到大量。 操作数据库,还有FMDB第三方库,相比于FMDB,CoreData要更简单,更方便。 集成CoreData: 1,创…

Core Data的使用

初步看了一下Core Data这个东西,本想早一点写这篇东西的,不过各种俗事缠身,又觉得自己对于Core Data机制了解的还不够深,动笔就慢了几天。不过今天盘点一下,觉得可以说一点东西出来就先说一点吧。 Core Data到底是个什…

CoreData简单使用

苹果的CoreData框架(不限于)提供了一种数据持久化解决方案,它基于如下结构(图片来源苹果官网): 其中涉及了几个概念: NSManagedObject: 数据库中一条记录在内存的实例。 NSManagedObjectConte…

ios中的coredata的使用

Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。 (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2…

CoreData使用

一、CoreData的简单使用 1.什么是CoreData 先认识一下这几个类 (1)NSManagedObjectContext(被管理的数据上下文) 作用:用来管理所有表的操作,对表的实体对应的数据库中的表的操作(插入,查询,修改…

iOS CoreData的使用

CoreData是一个专门管理数据服务的框架,把OC对象和存储在SQLite文件中的数据进行互相转换,极大地方便了开发者在数据服务方面的开发。 1. 创建CoreData 在文件创建区下,选择【Core Data】下的【Data Model】 输入CoreData的文件名Model.x…