机器学习数学基础(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 个或者多个变量之间存在"线性关系",那么我们就可以通过历史数据,摸清变量之间的"套路",建立一个有效的模型,来预测未来的变量结果。通俗的说就是在一系列点中间画一条线,这条线能够代表所有点的特征(或者称之为,关系、发展趋势等等),目的很明确就是对线性问题进行估计(预测),当然线性问题也是最简单的规律,如下图所示。

例如,在简单线性回归中,模型通常表示为 ,其中:

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

2.4 线性回归的优缺点

优点:

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

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

2.5. 线性回归分类

2.5.1 一元线性回归

线性回归分析中,如果仅有一个自变量与一个因变量 ,且其关系大致可以用一条直线表示,则称之为 简单线性回归分析。

如果发现因变量 Y 和自变量 X 之间存在高度的正相关,则可以确定一条直线方程,使得所有的数据点尽可能接近这条拟合的直线。

数学表达式为:其中 为因变量,是自变量, 为截距,是斜率,ϵ 是误差。

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

房价=b​+a×面积

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

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

面积 (平方米) 房价 (万元)
50 100
70 150
90 200
120 240

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

房价=30+1.5×面积

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

2.5.2 多元线性回归

多元线性回归分析是简单线性回归分析的推广,指的是多个因变量对多个自变量的回归分析 。其中最常用的是只限于一个因变量但有多个自变量的情况,也叫做多重回归分析。

数学表达式为:

其中:

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

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

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

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

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

学习时间 (小时/周) 课外活动时间 (小时/周) 考试成绩
5 2 80
6 3 85
7 2 90
8 1 95

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

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

这意味着:

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

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

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

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

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

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

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

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

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

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

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

下面介绍GLM相关知识:

  • 定义:广义线性模型是线性回归模型的扩展,它允许因变量的分布属于指数分布族,而不仅仅是正态分布。这意味着广义线性模型可以处理更广泛的数据类型,包括二元数据、计数数据、比例数据等。
  • 数学表达 :广义线性模型的基本形式是: 其中,是链接函数,是因变量的期望值,是模型参数。
  • 连接函数 :连接函数将线性预测量 𝜂与因变量的期望值 𝜇联系起来。不同的数据类型可能需要不同的链接函数,如:
    • 对于正态分布数据,可以是恒等链接 :(),即没有转换,直接使用线性预测量作为期望值。适用于连续数据,如线性回归。

    • 对于二项分布数据,可以是逻辑回归链接 :()也称为Logit链接。适用于二分类问题。

    • 对于泊松分布数据,可以是自然对数链接 :()。适用于计数数据,如事件发生次数。

    • 对于伽马分布 数据,可以是对数链接倒数链接。适用于正的连续数据,如时间到事件数据。

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

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

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

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

总的来说,

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

4. 逻辑回归

4.1 什么是逻辑回归

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

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

逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,最大的区别就在于它们的因变量不同,如果是连续的,就是多重线性回归;如果是二项分布,就是逻辑回归(Logistic);逻辑回归实际上是一种分类方法,主要用于二分类问题 (即输出只有两种,分别代表两个类别)。

逻辑回归的过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证这个求解模型的好坏。

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

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

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

其中:

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

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

4.2 逻辑回归优缺点

优点:

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

缺点:

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

4.3 逻辑回归VS线性回归

  • 线性回归只能用于回归问题,逻辑回归 虽然名字叫回归,但是更多用于分类问题
  • 线性回归要求因变量是连续性数值变量,而逻辑回归要求因变量是离散的变量
  • 线性回归要求自变量和因变量呈线性关系,而逻辑回归不要求自变量和因变量呈线性关系
  • 线性回归可以直观的表达自变量和因变量之间的关系,逻辑回归则无法表达变量之间的关系
相关推荐
i嗑盐の小F12 分钟前
【IEEE出版,高录用 | EI快检索】第二届人工智能与自动化控制国际学术会议(AIAC 2024,10月25-27)
图像处理·人工智能·深度学习·算法·自然语言处理·自动化
Python之栈22 分钟前
Python if 语句优化技巧
python·算法
冰红茶兑滴水34 分钟前
Linux 线程控制
linux·c++·算法
CYX_cheng1 小时前
算法基础-二分查找
算法
mikey棒棒棒1 小时前
算法练习题25——合并多项式
java·算法·hashmap·哈希·多项式
i嗑盐の小F1 小时前
【IEEE&ACM Fellow、CCF组委】第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)
人工智能·深度学习·算法·机器学习·自然语言处理·信号处理
DANGAOGAO1 小时前
蓝桥杯4. Fizz Buzz 经典问题
算法·蓝桥杯
MengYiKeNan2 小时前
C++二分函数lower_bound和upper_bound的用法
开发语言·c++·算法
戊子仲秋2 小时前
【LeetCode】每日一题 2024_9_19 最长的字母序连续子字符串的长度(字符串,双指针)
算法·leetcode·职场和发展
小林熬夜学编程2 小时前
C++第五十一弹---IO流实战:高效文件读写与格式化输出
c语言·开发语言·c++·算法