机器学习数学基础(1)--线性回归与逻辑回归

声明:本文章是根据网上资料,加上自己整理和理解而成,仅为记录自己学习的点点滴滴。可能有错误,欢迎大家指正。


1  线性回归和逻辑回归与机器学习的关系

线性回归属于机器学习 – 监督学习 – 回归 – 线性回归,

逻辑回归属于机器学习 – 监督学习 – 分类 – 逻辑回归,如下图所示。

1.1 什么是监督学习

监督学习是机器学习中的一种训练方式/学习方式。监督学习需要有明确的目标,很清楚自己想要什么结果。比如:使用大量标记为“猫”、“狗”、“汽车”等类别的图片数据集训练模型,让模型学习如何区分不同的类别。当给出新的未标记图片时(如猫的图片),模型能够预测其所属的类别(能归类为猫)。

1.2 监督学习的主要流程

主要流程为:

  • 选择一个适合目标任务的数学模型
  • 先把一部分已知的“问题和答案”(训练集)给机器去学习
  • 机器总结出了自己的“方法论”
  • 人类把”新的问题”(测试集)给机器,让他去解答

具体点,例如我们想要完成文章分类的任务,则是下面的方式:

  • 选择一个合适的数学模型
  • 把一堆已经分好类的文章和他们的分类给机器
  • 机器学会了分类的“方法论”
  • 机器学会后,再丢给他一些新的文章(不带分类),让机器预测这些文章的分类

1.3 监督学习的主要任务

监督学习有2个主要的任务:回归和分类

  • 回归:预测连续的、具体的数值。比如:支付宝里的芝麻信用分数
  • 分类:对各种事物分门别类,用于离散型(什么是离散?)预测。

1.4 主流的监督学习算法

算法类型简介
朴素贝叶斯分类贝叶斯分类法是基于贝叶斯定定理的统计学分类方法。它通过预测一个给定的元组属于一个特定类的概率,来进行分类。朴素贝叶斯分类法假定一个属性值在给定类的影响独立于其他属性的 —— 类条件独立性。
决策树分类决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。
SVM分类支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
逻辑回归分类逻辑回归是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。
线性回归回归线性回归是处理回归任务最常用的算法之一。该算法的形式十分简单,它期望使用一个超平面拟合数据集(只有两个变量的时候就是一条直线)。
回归树回归回归树(决策树的一种)通过将数据集重复分割为不同的分支而实现分层学习,分割的标准是最大化每一次分离的信息增益。这种分支结构让回归树很自然地学习到非线性关系。
K邻近分类+回归通过搜索K个最相似的实例(邻居)的整个训练集并总结那些K个实例的输出变量,对新数据点进行预测。
Adaboosting分类+回归Adaboost目的就是从训练数据中学习一系列的弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。
神经网络分类+回归它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。

2 线性回归(Linear Regression)

2.1  什么是线性(Linearity)

“越…,越…”符合这种说法的就可能是线性个关系:如「房子」越大,「租金」就越高,「汉堡」买的越多,花的「钱」就越多,杯子里的「水」越多,「重量」就越大。

从数学上来讲,线性指的是变量间存在一种直接的、成比例的关系。如果一个函数或关系可以用一个直线方程来描述,那么它就是线性的。例如,𝑦=2𝑥+3是一个线性方程,其中𝑦与𝑥成正比,比例系数为2。线性关系通常意味着系统的行为是可预测的,因为小的变化会导致成比例的小的响应。

线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间),线性关系就是一个体。以此类推…

 2.2  什么是回归(Regression)

(1)回 归概念

从前面介绍可知,回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势…

从数学上来讲,回归是一种统计方法,用于研究一组随机变量(通常称为因变量)与另一组变量(通常称为自变量)之间的关系。

回归之所以能预测是因为他通过历史数据,摸透了“套路”,然后通过这个套路来预测未来的结果。

回归可以是线性的,也可以是非线性的,取决于变量之间的关系类型。回归分析的一个主要目标是建立一个模型,用以预测或解释因变量的值。

(2)回归和拟合的关系

关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,研究解释变量与响应变量之间的关系以及相关性等问题。而拟合是把平面的一系列点,用一条光滑曲线连接起来,并且让更多的点在曲线上或曲线附近。更确切的说,拟合是回归用到的一种数学方法,而拟合与回归的应用场合不同。拟合常用的方法有最小二乘法、梯度下降法、高斯牛顿(即迭代最小二乘)、列-马算法。其中最最常用的就是最小二乘法。并且拟合可以分为线性拟合与非线性拟合,非线性拟合比较常用的是多项式拟合。根据自变量的个数,拟合也可以分为曲线拟合与曲面拟合等。

2.3 什么是线性回归

线性回归(或叫线性拟合)是最简单的拟合方法。线性回归本来是是统计学里的概念,现在经常被用在机器学习中。

线性回归假设因变量和自变量之间存在线性关系。即如果 2 个或者多个变量之间存在“线性关系”,那么我们就可以通过历史数据,摸清变量之间的“套路”,建立一个有效的模型,来预测未来的变量结果。通俗的说就是在一系列点中间画一条线,这条线能够代表所有点的特征(或者称之为,关系、发展趋势等等),目的很明确就是对线性问题进行估计(预测),当然线性问题也是最简单的规律,如下图所示。

例如,在简单线性回归中,模型通常表示为 y=ax+b+\epsilon ,其中:

  • y是因变量,即我们想要预测或解释的变量。
  • x是自变量,即用来预测因变量的变量。
  •  b 是截距,表示当x=0y的值。
  • a是斜率,表示x每变化一个单位,y预期变化的量。
  • ϵ 是误差项,代表模型无法解释的随机变异。

2.4 线性回归的优缺点

优点:

  1. 建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快。
  2. 可以根据系数给出每个变量的理解和解释

缺点:不能很好地拟合非线性数据。所以需要先判断变量之间是否是线性关系。

2.5. 线性回归分类

2.5.1 一元线性回归

线性回归分析中,如果仅有一个自变量与一个因变量,且其关系大致可以用一条直线表示,则称之为 简单线性回归分析。
  如果发现因变量 Y 和自变量 X 之间存在高度的正相关,则可以确定一条直线方程,使得所有的数据点尽可能接近这条拟合的直线。

数学表达式为:y=ax+b+\epsilon其中y 为因变量,x是自变量,b 为截距,a是斜率,ϵ 是误差。

例如,你想要预测房屋的价格,而你唯一知道的变量是房屋的面积(以平方米为单位)。在这个情况下,你可以使用单变量线性回归模型。模型可以表示为:

房价=b​+a×面积

  • b 是截距,表示在面积为0时的房价。
  • 是斜率,表示每增加1平方米,房价增加的金额。

假设你收集了一些数据点,如下:

面积 (平方米)房价 (万元)
50100
70150
90200
120240

通过这些数据,你可以使用最小二乘法来估计 a​ 和 b​。假设你计算得到的模型是:

房价=30+1.5×面积

这意味着,每增加1平方米的面积,房价平均增加1.5万元。如果有人告诉你一个房屋的面积是100平方米,你可以预测其价格为:房价=30+1.5×100=180万元

2.5.2 多元线性回归

多元线性回归分析是简单线性回归分析的推广,指的是多个因变量对多个自变量的回归分析。其中最常用的是只限于一个因变量但有多个自变量的情况,也叫做多重回归分析。
数学表达式为:y=a_{1}x_{1}+a_{2}x_{2}+...+a_{n}x_{n}+b+\epsilon

其中:

  • y 是因变量,也就是我们想要预测或解释的变量。
  • x_{1},x_{2},...,x_{n}是自变量,也就是我们用来预测因变量的变量。
  • b​ 是截距项,表示当所有自变量为零时,因变量的期望值。
  • a_{1},a_{2},...,a_{n} 是系数,表示相应自变量每变化一个单位,因变量预期的变化量。
  • 𝜖 是误差项,代表了模型无法解释的随机变异。

如下图所示,一元线性回归图形为一条直线。而二元线性回归,拟合的为一个平面。多元线性回归拟合出的图像为以超平面;

假设你想要预测学生的考试成绩,而你拥有的数据包括学生的学习时间(小时/周)和每周课外活动的时间(小时/周)。在这个情况下,你可以使用多变量线性回归模型。模型可以表示为:

考试成绩=b+a1×学习时间+a2×课外活动时间考试成绩=b+a1​×学习时间+a2​×课外活动时间

假设你收集了一些数据点,如下:

学习时间 (小时/周)课外活动时间 (小时/周)考试成绩
5280
6385
7290
8195

通过这些数据,你可以使用最小二乘法来估计 b、a1​ 和 a2​。假设你计算得到的模型是:

考试成绩=60+10×学习时间−5×课外活动时间考试成绩=60+10×学习时间−5×课外活动时间

这意味着:

  • 学习时间每增加1小时,考试成绩增加10分。
  • 课外活动时间每增加1小时,考试成绩减少5分。

如果一个学生每周学习7小时,课外活动2小时,你可以预测其考试成绩为:

考试成绩=60+10×7−5×2=95

3. 狭义线性模型和广义线性模型

3.1 狭义线性模型(普通线性回归模型)

  • 定义:狭义线性模型通常指的是最简单的线性回归模型,它假设因变量(响应变量)与自变量(解释变量)之间存在线性关系,并且因变量的误差项服从正态分布。如上面所讲的线性回归
  • 数学表达:这种模型可以表示为: y=a_{1}x_{1}+a_{2}x_{2}+...+a_{n}x_{n}+b+\epsilon其中,y是因变量,x_{1},x_{2},...,x_{n}是自变量,a_{1},a_{2},...,a_{n}是模型参数,ϵ 是误差项。
  • 假设:这种模型通常假设误差项 𝜖服从正态分布,具有均值为0和常数方差。
  • 应用:主要用于预测连续的因变量,如房价、温度、销售额等。

3.2  广义线性模型(Generalized Linear Model, GLM)

我们知道了”回归“一般是用于预测样本的值,这个值通常是连续的。但是受限于其连续的特性,一般用它来进行分类的效果往往很不理想。为了保留线性回归”简单效果有不错“的特点,又想让它能够进行分类,因此需要对预测值再做一次处理。这个多出来的处理过程,就是广义线性模型GLM所做的最主要的事。而处理过程的这个函数,我们把它叫做连接函数。

如下图是一个广义模型的流程:

图中,当一个处理样本的回归模型是线性模型,且连接函数满足一定特性(特性下面说明)时,我们把模型叫做广义线性模型。因为广义模型的最后输出可以为离散,也可以为连续,因此,用广义模型进行分类、回归都是可以的。

但是为什么线性回归是广义线性模型的子类呢,因为连接函数是f(x) = x本身的时候,也就是不做任何处理时,它其实就是一个线性回归啦。所以模型的问题就转化成获得合适的连接函数?以及有了连接函数,怎么求其预测函数

下面介绍GLM相关知识:

  • 定义:广义线性模型是线性回归模型的扩展,它允许因变量的分布属于指数分布族,而不仅仅是正态分布。这意味着广义线性模型可以处理更广泛的数据类型,包括二元数据、计数数据、比例数据等。
  • 数学表达:广义线性模型的基本形式是:g(\mu )=a_{1}x_{1}+a_{2}x_{2}+...+a_{n}x_{n}+b+\epsilon 其中,g是链接函数,\mu是因变量的期望值,a_{1},a_{2},...,a_{n}是模型参数。
  • 连接函数:连接函数将线性预测量 𝜂与因变量的期望值 𝜇联系起来。不同的数据类型可能需要不同的链接函数,如:
    • 对于正态分布数据,g可以是恒等链接:(g(\mu )=\mu),即没有转换,直接使用线性预测量作为期望值。适用于连续数据,如线性回归。
    • 对于二项分布数据,g可以是逻辑回归链接:(g( \mu )=log(\mu/(1−\mu)))也称为Logit链接。适用于二分类问题。
    • 对于泊松分布数据,g可以是自然对数链接:(g( \mu )=log(\mu))。适用于计数数据,如事件发生次数。
    • 对于伽马分布数据,g可以是对数链接倒数链接g( \mu)=1/ \mu或 g(\mu )=log(\mu )。适用于正的连续数据,如时间到事件数据。

    • 对于贝塔分布数据,g可以是对数-对数链接g( \mu )=log(\mu)。适用于介于0和1之间的比例数据。

    • 对于多项分布数据,g可以是多项逻辑回归链接:使用多项分布的Logit函数。适用于多分类问题。

连接函数是广义线性模型中将线性关系扩展到非正态分布数据的关键,它使得模型能够适应各种数据类型和分布特性。它能确保模型的预测值在因变量的取值范围内,例如,逻辑回归的预测值在0和1之间。还允许我们对模型参数进行解释,例如,在逻辑回归中,参数的估计值表示自变量对事件发生概率的对数几率(log odds)的影响。

  • 应用:广义线性模型可以应用于各种类型的数据,如:二元数据(如疾病诊断结果);计数数据(如交通事故次数);比例数据(如市场份额)。

总的来说,

  • 狭义线性模型:主要用于处理连续数据假设数据服从正态分布,模型形式简单。
  • 广义线性模型:扩展了线性模型的应用范围,可以处理多种类型的数据,通过引入链接函数和指数分布族的概念,提供了更灵活的模型选择。

4. 逻辑回归

4.1 什么是逻辑回归

逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性

比如:一封邮件是垃圾邮件的可能性(是、不是);你购买一件商品的可能性(买、不买)

逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,最大的区别就在于它们的因变量不同,如果是连续的,就是多重线性回归;如果是二项分布,就是逻辑回归(Logistic);逻辑回归实际上是一种分类方法,主要用于二分类问题(即输出只有两种,分别代表两个类别)。
  逻辑回归的过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证这个求解模型的好坏。

假设我们有一个简单的逻辑回归模型,用于预测邮件是否为垃圾邮件。模型可能考虑以下特征:

  • 邮件中包含的特定关键词数量。
  • 邮件发送者是否在用户的联系人列表中。

模型可以表示为: log⁡(𝑝/(1−𝑝))=𝛽0+𝛽1×关键词数量+𝛽2×发送者信誉

其中:

  • 𝑝 是邮件为垃圾邮件的概率。
  • \beta 0​,\beta 1​,\beta 2​是模型参数。
  • 关键词数量关键词数量 和 发送者信誉发送者信誉 是输入特征。

通过最大似然估计,我们可以找到最优的参数值,使得模型预测的概率与实际观测到的垃圾邮件标签最匹配。这样,我们就可以预测新邮件是否为垃圾邮件。

4.2 逻辑回归优缺点

优点:

  • 实现简单,广泛的应用于工业问题上;
  • 分类时计算量非常小,速度很快,存储资源低;
  • 便利的观测样本概率分数;
  • 对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决该问题;
  • 计算代价不高,易于理解和实现;

缺点:

  • 当特征空间很大时,逻辑回归的性能不是很好;
  • 容易欠拟合,一般准确度不太高
  • 不能很好地处理大量多类特征或变量;
  • 只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分
  • 对于非线性特征,需要进行转换;

4.3 逻辑回归VS线性回归

  • 线性回归只能用于回归问题,逻辑回归虽然名字叫回归,但是更多用于分类问题
  • 线性回归要求因变量是连续性数值变量,而逻辑回归要求因变量是离散的变量
  • 线性回归要求自变量和因变量呈线性关系,而逻辑回归不要求自变量和因变量呈线性关系
  • 线性回归可以直观的表达自变量和因变量之间的关系,逻辑回归则无法表达变量之间的关系

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

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

相关文章

Maven概述

目录 1.Maven简介 2.Maven开发环境搭建 2.1下载Maven服务器 2.2安装,配置Maven 1.配置本地仓库地址 2.配置阿里云镜像地址 2.3在idea中配置maven 2.4在idea中创建maven项目 3.pom.xml配置 1.项目基本信息 2.依赖信息 3.构建信息 4.Maven命令 5.打包Jav…

企业微信报错,api forbidden 错误码 48002

业务场景是这边后端页面点同步就去企微接口拉取客户数据,然后报错如下。 后端抓包返回的json如下 {“errcode”:48002,“follow_user”:[],“errmsg”:“api forbidden, hint: [1721869790252850672734303], from ip: 203.88.203.216, more info at https://open.w…

数据结构(链表)

🌏个人博客主页:心.c 前言: 最近练习算法回去学了链表,收获挺大的,大概内容整理了一下,语言是用c写的,所以在这里分享给大家,希望大家可以有所收获 🔥🔥&…

2024年技校大数据实验室建设及大数据实训平台整体解决方案

随着信息技术的迅猛发展,大数据已成为推动产业升级和社会进步的重要力量。为适应市场需求,培养高素质的大数据技术人才,技校作为职业教育的重要阵地,亟需加强大数据实验室的建设与实训平台的打造。本方案旨在提出一套全面、可行的…

二维码的生成与识别(python)

二维码生成 from PIL import Image import qrcode from qrcode.image.styledpil import StyledPilImage from qrcode.image.styles.colormasks import SolidFillColorMask from qrcode.image.styles.moduledrawers import SquareModuleDrawer# 创建二维码对象 qr qrcode.QRCo…

vue3在元素上绑定自定义事件弹出虚拟键盘

最近开发中遇到一个需求: 焊接机器人的屏幕上集成web前端网页, 但是没有接入键盘。这就需要web端开发一个虚拟键盘,在网上找个很多虚拟键盘没有特别适合,索性自己写个简单的 图片: 代码: (代码可能比较垃圾冗余,也没时间优化,凑合看吧) 第一步:创建键盘组件 为了方便使用…

【Django】 读取excel文件并在前端以网页形式显示-安装使用Pandas

文章目录 安装pandas写views写urls安装openpyxl重新调试 安装pandas Pandas是一个基于NumPy的Python数据分析库,可以从各种文件格式如CSV、JSON、SQL、Excel等导入数据,并支持多种数据运算操作,如归并、再成形、选择等。 更换pip源 pip co…

Flink SQL 实时读取 kafka 数据写入 Clickhouse —— 日志处理(三)

文章目录 前言Clickhouse 表设计adlp_log_local 本地表adlp_log 分布式表 Flink SQL 说明创建 Source Table (Kafka) 连接器表创建 Sink Table (Clickhouse) 连接器解析 Message 写入 Sink 日志查询演示总结 前言 在之前的文章中,我们总结了如何在 Django 项目中进…

构建智慧水利系统,优化水资源管理:结合物联网、云计算等先进技术,打造全方位、高效的水利管理系统,实现水资源的最大化利用

本文关键词:智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…

spring-boot3.x整合Swagger 3 (OpenAPI 3) +knife4j

1.简介 OpenAPI阶段的Swagger也被称为Swagger 3.0。在Swagger 2.0后,Swagger规范正式更名为OpenAPI规范,并且根据OpenAPI规范的版本号进行了更新。因此,Swagger 3.0对应的就是OpenAPI 3.0版本,它是Swagger在OpenAPI阶段推出的一个…

产品系统的UI暗色系和浅色系模式切换是符合人体视觉工程学的设计

视觉革命:UI设计中的暗夜与黎明 UI设计如同夜空中最亮的星辰,引领着用户穿梭于信息的海洋。而今,一场视觉革命正在悄然上演,它关乎于我们的眼睛,关乎于我们的体验——那就是产品系统的UI暗色系和浅色系模式的切换。如…

Android lmkd机制详解

目录 一、lmkd介绍 二、lmkd实现原理 2.1 工作原理图 2.2 初始化 2.3 oom_adj获取 2.4 监听psi事件及处理 2.5 进程选取与查杀 2.5.1 进程选取 2.5.2 进程查杀 三、关键系统属性 四、核心数据结构 五、代码时序 一、lmkd介绍 Android lmkd采用epoll方式监听linux内…

SpringBoot整合阿里云短信业务

详细介绍SpringBoot整合阿里云短信服务的每一步过程,同时会将验证码存放到Redis中并设置过期时间,尽量保证实战的同时也让没做过的好兄弟也能实现发短信的功能~ 1. 注册阿里云账号和创建Access Key 首先,你需要注册一个阿里云账号&#xff0…

【JavaEE初阶】Thread类及常见方法

目录 📕 Thread类的概念 📕 Thread 的常见构造方法 📕 Thread 的几个常见属性 📕 start()-启动一个线程 📕 中断一个线程 🚩 实例一 🚩 实例二 🚩 实例三 📕 jo…

昇思MindSpore学习入门-数据处理管道支持python对象

数据处理管道中的特定操作(如自定义数据集GeneratorDataset、自定义map增强操作、自定义batch(per_batch_map...))支持任意Python类型对象作为输入。为了支持此特性,数据管道使用了Python(dict)字典去管理不同类型的对象。与其他类型相比&…

康康近期的慢SQL(oracle vs 达梦)

近期执行的sql,哪些比较慢? 或者健康检查时搂一眼状态 oracle: --最近3天内的慢sql set lines 200 pages 100 col txt for a65 col sql_id for a13 select a.sql_id,a.cnt,a.pctload,b.sql_text txt from (select * from (select sql_id,co…

基于微信小程序的自习室选座系统/基于Java的自习室选座系统/自习室管理系统的设计与实现

获取源码联系方式请查看文章结尾🍅 摘要 自习室选座是学校针对用户必不可少的一个部分。在学校的整个过程中,学生担负着最重要的角色。为满足如今日益复杂的管理需求,各类微信小程序自习室选座也在不断改进。本课题所设计的小程序自习室选座系…

【C#】Visual Studio2022打包依赖第三方库的winForm程序为exe

0.简介 IDE:VS2022 平台:C# .NetFramework4.7.2 WinForm界面 有GDAL、EEplus第三方库的依赖,所以在其他未安装环境的电脑中功能无法使用。 1. 安装 1.1 运行文件输出 在VS扩展中选择管理扩展,安装:Microsoft Visua…

SpringBoot上传超大文件导致OOM,完美问题解决办法

问题描述 报错: Caused by: java.lang.OutOfMemoryError at java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123) ~[?:1.8.0_381] at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117) ~[?:1.8.0_381] at java.…

MQTTX连接华为云IoTDA

目录 华为IoTDA平台 MQTTX连接参数的设置 物模型的构建 属性上报 基本数据格式 时戳 我以前上课都是用巴法云服务器来演示MQTT的,前几天因为测试工业互联网关使用了华为的IoTDA,觉得也不算太复杂,今天尝试用MQTTX连接华为云&#xff0c…