关于线性模型的底层逻辑解读 (机器学习 细读01)

2023-10-31 12:01

本文主要是介绍关于线性模型的底层逻辑解读 (机器学习 细读01),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 多元线性回归

         线性回归是机器学习中 有监督机器学习 下的一种算法。 回归问题主要关注的是因变量(需要预测的值,可以是一个也可以是多个)和一个或多个数值型的自变量(预测变量)之间的关系。

  1. 需要预测的值:即目标变量,target,y,连续值预测变量
  2. 影响目标变量的因素: ... ,可以是连续值也可以是离散值。
  3. 因变量和自变量之间的关系:即模型,model,是我们要求解的。

1.1 简单线性回归

前面提到过,算法说白了就是公式,简单线性回归属于一个算法,它所对应的公式。

        y = wx + b

这个公式中,y 是目标变量即未来要预测的值,x 是影响 y 的因素,w,b 是公式上的参数即要求的模型。其实 b 就是咱们的截距,w 是斜率嘛! 所以很明显如果模型求出来了,未来影响 y 值的未知数就是一个 x 值,也可以说影响 y 值 的因素只有一个,所以这是就叫简单线性回归的原因。

1.2 最优解

  • Actual value: 真实值,一般使用 y 表示。
  • Predicted value预测值,是把已知的 x 带入到公式里面和猜出来的参数 w,b 计算得到的,一般使用 $\hat{y}$表示。
  • Error误差,预测值和真实值的差距,一般使用 \varepsilon表示。
  • 最优解: 尽可能的找到一个模型使得整体的 误差最小,整体的误差通常叫做损失 Loss。
  • Loss: 整体的误差,Loss 通过损失函数 Loss function 计算得到。

1.3 多元线性回归

现实生活中,往往影响结果 y 的因素不止一个,这时 x 就从一个变成了 n 个,X_1.....$X_n$同时简单线性回归的公式也就不在适用了。多元线性回归公式如下:

        $\hat{y} = w_1X_1 + w_2X_2 +....... + w_nX_n + b$

使用向量来表示:

        $\hat{y} = W^TX$

二 高斯函数

2.1 正太分布

正态分布(Normal Distribution),也被称为高斯分布(Gaussian Distribution),正态分布在实际应用中非常有用,因为许多自然现象和人类行为都近似遵循正态分布。例如,身高、体重、智商、测量误差等都可以用正态分布来描述。在统计分析中,许多参数估计和假设检验方法都基于正态分布的假设。在统计建模中,通常默认每次线性模型计算的误差与正确值的误差符合正态分布。基于这一假设,可以通过计算使误差最小的正态分布值来估算线性模型的权重。这种方法有助于拟合模型以更好地解释数据和进行预测。主要特点:

  1. 对称性:正态分布是一个对称分布,其均值、中位数和众数都位于分布的中心,也就是分布的峰值。

  2. 集中趋势:正态分布具有集中趋势,数据点更有可能接近均值,而在离均值越远的地方概率逐渐减小。

  3. 定义性:正态分布由两个参数决定,均值(μ)和方差(σ^2),这些参数决定了分布的中心和分散度。

  4. 标准正态分布:当均值为0,方差为1时,正态分布被称为标准正态分布(Standard Normal Distribution)。标准正态分布的概率密度函数可以用标准正态分布表来查找。

  5. 经典的钟形曲线:正态分布的概率密度函数呈现出典型的钟形曲线,两侧尾部逐渐减小,且在均值处达到峰值。

正态分布的概率密度函数(Probability Density Function)为:

2.2 误差分析

假定所有的样本的误差都是独立的,有上下的震荡,震荡认为是随机变量,足够多的随机变量叠加之后形成的分布,它服从的就是正态分布,因为它是正常状态下的分布,也就是高斯分布!均值是某一个值,方差是某一个值。 方差我们先不管,均值我们总有办法让它去等于零 0 的,因为我们这里是有截距b, 所有误差我们就可以认为是独立分布的,1<=i<=n,服从均值为 0,方差为某定值的高斯分布。机器学习中我们假设误差符合均值为0,方差为定值的正态分布!!!

        $\varepsilon_i = |y_i - \hat{y}|$

正太分布公式

        $f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x - \mu)^2}{2\sigma^2}}$

随着参数μ和σ变化,概率分布也产生变化。 下面重要的步骤来了,我们要把一组数据误差出现的总似然,也就是一组数据之所以对应误差出现的 整体可能性 表达出来了,因为数据的误差我们假设服从一个高斯分布,并且通过截距项来平移整体分布的位置从而使得μ=0,所以样本的误差我们可以表达其概率密度函数的值如下:

        $f(\varepsilon|\mu = 0,\sigma^2) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(\varepsilon - 0)^2}{2\sigma^2}}$

误差正太分布,简化去掉均值 μ

        $f(\varepsilon| 0,\sigma^2) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\varepsilon ^2}{2\sigma^2}}$

三 误差总似然

累乘问题:

        $P = \prod\limits_{i = 0}^{n}f(\varepsilon_i|0,\sigma^2) = \prod\limits_{i = 0}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\varepsilon_i ^2}{2\sigma^2}}$

根据前面公式 $\varepsilon_i = |y_i - W^Tx_i|$ 可以推导出来如下公式:

        $P = \prod\limits_{i = 0}^{n}f(\varepsilon_i|0,\sigma^2) = \prod\limits_{i = 0}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i - W^Tx_i)^2}{2\sigma^2}}$

公式中的未知变量就是 ,即方程的系数,系数包含截距~如果,把上面当成一个方程,就是概率P关于W的方程!其余符号,都是常量!

        $P_W= \prod\limits_{i = 0}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i - W^Tx_i)^2}{2\sigma^2}}$

通过,求对数把累乘问题,转变为累加问题:

        $log_e(P_W) = log_e(\prod\limits_{i = 0}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i - W^Tx_i)^2}{2\sigma^2}})$

简化:

                        $=\sum\limits_{i = 0}^{n}log_e(\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i - W^Tx_i)^2}{2\sigma^2}})$

                        $=\sum\limits_{i = 0}^{n}(log_e\frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{\sigma^2}\cdot\frac{1}{2}(y_i - W^Tx_i)^2)$

上面公式是最大似然求对数后的变形,其中 $\pi, \sigma$都是常量,而 $(y_i - W^Tx_i)^2$ 肯定大于!上面求最大值问题,即可转变为如下求最小值问题:

        $L(W) = \frac{1}{2}\sum\limits_{i = 0}^n(y^{(i)} - W^Tx^{(i)})^2$

L代表Loss,表示损失函数,损失函数越小,那么上面最大似然就越大~

有的书本上公式,也可以这样写,用$J(\theta)$表示一个意思,$\theta$的角色就是W:

        $J(\theta) = \frac{1}{2}\sum\limits_{i = 1}^n(y^{(i)} - \theta^Tx^{(i)})^2$

                 $ = \frac{1}{2}\sum\limits_{i = 1}^n(\theta^Tx^{(i)} - y^{(i)})^2$

进一步推导

        $J(\theta) = \frac{1}{2}\sum\limits_{i = 1}^n(h_{\theta}(x^{(i)}) - y^{(i)})^2$

其中:

  $\hat{y} = h_{\theta}(X) =X \theta$ 表示全部数据,是矩阵,X表示多个数据,进行矩阵乘法时,放在前面;

  $\hat{y}i = h{\theta}(x^{(i)}) = \theta^Tx^{(i)}$ 表示第i个数据,是向量,所以进行乘法时,其中一方需要转置。

因为最大似然公式中有个负号,所以最大总似然变成了最小化负号后面的部分。 到这里,我们就已经推导出来了 MSE 损失函数 $J(\theta)$,从公式我们也可以看出来 MSE 名字的来 历,mean squared error,上式也叫做 最小二乘法

        这种最小二乘法估计,其实我们就可以认为,假定了误差服从正太分布,认为样本误差的出现是随机的,独立的,使用最大似然估计思想,利用损失函数最小化 MSE 就能求出最优解!所以反过来说,如果我们的数据误差不是互相独立的,或者不是随机出现的,那么就不适合去假设为正太分布,就不能去用正太分布的概率密度函数带入到总似然的函数中,故而就不能用 MSE 作为损失函数去求解最优解了!所以最小二乘法不是万能的~
        还有譬如假设误差服从泊松分布,或其他分布那就得用其他分布的概率密度函数去推导出损失函数了。
        所以有时我们也可以把线性回归看成是广义线性回归。比如,逻辑回归,泊松回归都属于广义线性回归的一种,这里我们线性回归可以说是最小二乘线性回归。

这篇关于关于线性模型的底层逻辑解读 (机器学习 细读01)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/315217

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss