吴恩达机器学习笔记复盘(四)线性回归模型概述

news/2025/3/19 2:05:39/

线性回归模型

简介

是用一条直线拟合数据的模型,是当今比较常用的学习模型。

举例

以根据房子大小预测价格为例,使用波特兰的房屋大小和价格数据集。若客户想卖房(房子 1250 平方英尺),可通过建立线性回归模型,根据数据拟合直线,预测房子能卖约 22 万美元。

监督学习

监督学习是通过给出正确答案的数据来训练模型,如上述房屋数据集中既有房子大小,也有每栋房子对应的价格。(通过人为标记数据是否为正确答案)

回归模型与分类模型区别

线性回归模型属于回归模型,其预测数字作为输出;分类模型预测类别,如预测图片是猫、狗还是狼,或预测病人所患疾病。分类问题输出可能有限,回归问题模型可输出无限多个数字。

数据可视化表示

数据除了可视化为图,还可通过数据表呈现,表中包含输入(房子大小)和输出(要预测的价格)。用于训练模型的数据集叫训练集,输入用小写 X 表示,也叫特征或输入特征;输出用小写 Y 表示,也叫目标值。训练样本总数用小写 M 表示,如该数据集中 M = 47。特定训练例子用 X 上标在括号 I,逗号 Y 上标在括号 I 表示,I 指表中的特定行。

学习过程

训练集包含输入特征(如房子大小)和输出目标(如房子价格),将它们提供给学习算法,算法会产生函数 F(也叫模型),F 的任务是根据新输入 X 输出预测值 Y 帽,Y 帽是对真实值 Y 的估计。

线性函数的表示

让函数F为直线,可写成F_{W,B}(X) = WX + B(W和B是数字,其取值决定预测值Y),有时也写成F(X)

选择线性函数的原因

线性函数相对简单、容易处理,以它为基础有助于获得更复杂的非线性模型,本次讨论的是有一个变量(输入变量X即房子大小)的线性回归,也叫单变量线性回归

扩展学习

线性回归是一种经典的机器学习算法,用于建立一个线性关系模型来预测连续型的目标变量。

原理

线性回归假设自变量 x与因变量 y之间存在线性关系,可以用一个线性方程来表示:y = \theta_0 + \theta_1x_1 + \theta_2x_2 + \cdots + \theta_nx_n + \epsilon,其中\theta_0, \theta_1, \cdots, \theta_n是模型的参数,\epsilon 是误差项。线性回归的目标就是通过给定的训练数据找到一组最优的参数\theta,使得模型预测值与真实值之间的误差最小。

求解方法

通常使用最小二乘法来求解线性回归模型的参数。最小二乘法的目标是最小化预测值与真实值之间的平方误差之和,即J(\theta)=\sum_{i = 1}^{m}(y^{(i)}-\hat{y}^{(i)})^2=\sum_{i = 1}^{m}(y^{(i)}-\theta_0-\theta_1x_1^{(i)}-\cdots-\theta_nx_n^{(i)})^2,其中m是训练数据的样本数量,y^{(i)}是第i个样本的真实值,\hat{y}^{(i)}是第i个样本的预测值。通过对J(\theta)求偏导数并令其为0,可以得到一组关于\theta的方程组,解这个方程组就可以得到最优的参数值。

评估指标

常用均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和 \(R^2\) 分数等来评估线性回归模型的性能。

示例

假设我们有一组关于房屋面积(平方米)和房价(万元)的数据,如下表所示:

| 房屋面积(\(x\)) | 房价(\(y\)) | | ---- | ---- | | 100 | 200 | | 120 | 240 | | 80 | 160 | | 150 | 300 | | 90 | 180 |

我们希望通过线性回归算法建立一个房屋面积和房价之间的线性关系模型,以便根据房屋面积来预测房价。

首先,设线性回归模型为 y = \theta_0 + \theta_1x

使用最小二乘法求解参数\theta_0\theta_1。经过计算(计算过程见后面解题原理),得到\theta_0 = 0\theta_1 = 2。所以,得到的线性回归方程为 y = 2x。 接下来,我们可以用这个模型来进行预测。例如,当房屋面积为130平方米时,根据模型预测房价为 y = 2×130 = 260(万元)。 然后,我们可以用上述提到的评估指标来评估模型的性能。比如计算均方误差,先计算每个样本的预测误差的平方,再求平均值。以这组数据为例,计算可得均方误差为0(因为数据是完全线性的),这表明模型在这组数据上的拟合效果非常好。但在实际情况中,数据往往不会这么理想,均方误差会是一个大于0的值,值越小说明模型的拟合效果越好。

模型解题过程原理

设我们有m个样本点(x^{(i)}, y^{(i)})i = 1,2,\cdots,m线性回归模型为y=\theta_0 + \theta_1x

最小二乘法的目标函数是误差平方和:J(\theta_0,\theta_1)=\sum_{i = 1}^{m}(y^{(i)} - (\theta_0+\theta_1x^{(i)}))^2

为了找到使J(\theta_0,\theta_1)最小的\theta_0\theta_1,我们对J(\theta_0,\theta_1)分别求关于\theta_0\theta_1的偏导数,并令偏导数等于0。

 对\theta_0求偏导数

 \frac{\partial J(\theta_0,\theta_1)}{\partial \theta_0}=2\sum_{i = 1}^{m}(y^{(i)} - (\theta_0+\theta_1x^{(i)}))\times(- 1)= - 2\sum_{i = 1}^{m}(y^{(i)} - \theta_0-\theta_1x^{(i)})

\frac{\partial J(\theta_0,\theta_1)}{\partial \theta_0} = 0,则有:\sum_{i = 1}^{m}(y^{(i)} - \theta_0-\theta_1x^{(i)})=0\) \(\sum_{i = 1}^{m}y^{(i)} - m\theta_0-\theta_1\sum_{i = 1}^{m}x^{(i)}=0\) \(m\theta_0=\sum_{i = 1}^{m}y^{(i)}-\theta_1\sum_{i = 1}^{m}x^{(i)}\) \(\theta_0=\frac{1}{m}\sum_{i = 1}^{m}y^{(i)}-\frac{\theta_1}{m}\sum_{i = 1}^{m}x^{(i)}(式子1)

\theta_1求偏导数:

\frac{\partial J(\theta_0,\theta_1)}{\partial \theta_1}=2\sum_{i = 1}^{m}(y^{(i)} - (\theta_0+\theta_1x^{(i)}))\times(-x^{(i)})=-2\sum_{i = 1}^{m}(y^{(i)} - \theta_0-\theta_1x^{(i)})x^{(i)}

\frac{\partial J(\theta_0,\theta_1)}{\partial \theta_1}=0,则有:\sum_{i = 1}^{m}(y^{(i)} - \theta_0-\theta_1x^{(i)})x^{(i)} = 0\) \(\sum_{i = 1}^{m}y^{(i)}x^{(i)}-\theta_0\sum_{i = 1}^{m}x^{(i)}-\theta_1\sum_{i = 1}^{m}(x^{(i)})^2=0(式子2)

将式子1代入式子2中

\sum_{i = 1}^{m}y^{(i)}x^{(i)}-\left(\frac{1}{m}\sum_{i = 1}^{m}y^{(i)}-\frac{\theta_1}{m}\sum_{i = 1}^{m}x^{(i)}\right)

\sum_{i = 1}^{m}x^{(i)}-\theta_1\sum_{i = 1}^{m}(x^{(i)})^2=0

\sum_{i = 1}^{m}y^{(i)}x^{(i)}-\frac{1}{m}\sum_{i = 1}^{m}y^{(i)}\sum_{i = 1}^{m}x^{(i)}+\frac{\theta_1}{m}(\sum_{i = 1}^{m}x^{(i)})^2-\theta_1\sum_{i = 1}^{m}(x^{(i)})^2=0

\sum_{i = 1}^{m}y^{(i)}x^{(i)}-\frac{1}{m}\sum_{i = 1}^{m}y^{(i)}\sum_{i = 1}^{m}x^{(i)}

=\theta_1\left(\sum_{i = 1}^{m}(x^{(i)})^2-\frac{1}{m}(\sum_{i = 1}^{m}x^{(i)})^2\right)\\

\theta_1=\frac{\sum_{i = 1}^{m}y^{(i)}x^{(i)}-\frac{1}{m}\sum_{i = 1}^{m}y^{(i)}\sum_{i = 1}^{m}x^{(i)}}{\sum_{i = 1}^{m}(x^{(i)})^2-\frac{1}{m}(\sum_{i = 1}^{m}x^{(i)})^2}

对于我们给出的样本数据

(100,200),(120,240),(80,160),(150,300),(90,180),(m = 5)。\sum_{i = 1}^{5}x^{(i)}=100 + 120+80 + 150+90=540

\sum_{i = 1}^{5}y^{(i)}=200 + 240+160 + 300+180=1080

\sum_{i = 1}^{5}(x^{(i)})^2=100^2+120^2 + 80^2+150^2+90^2=10000 + 14400+6400+22500+8100=61400

\sum_{i = 1}^{5}y^{(i)}x^{(i)}=200\times100+240\times120 + 160\times80+300\times150+180\times90\) \(=20000+28800+12800+45000+16200=122800

\theta_1=\frac{122800-\frac{1}{5}\times1080\times540}{61400-\frac{1}{5}\times540^2}\)\(= 2

\theta_1 = 2代入式子1

\theta_0=\frac{1}{5}\times1080-\frac{2}{5}\times540\)\(=0

所以,得到的线性回归方程为y = 2x。


http://www.ppmy.cn/news/1580211.html

相关文章

Spring Boot整合JWT 实现双Token机制

目录 JWT核心概念解析Spring Boot整合步骤 2.1 基础环境搭建2.2 Token生成与解析2.3 拦截器实现 企业级增强方案 3.1 双Token刷新机制3.2 安全防护策略 常见问题与解决方案 1. JWT核心概念解析 1.1 Token的三重使命 身份凭证:替代Session实现无状态认证信息载体&…

基于CNN的多种类蝴蝶图像分类

基于CNN的多种类蝴蝶图像分类🦋 基于卷积神经网络对64992786张图像,75种不同类别的蝴蝶进行可视化分析、模型训练及分类展示 导入库 import pandas as pd import os import matplotlib.pyplot as plt import seaborn as sns import numpy as np from …

Python 解析器安装指南(Mac / Windows / Linux)

本文档提供在 macOS、Windows 和 Linux 系统上安装 Python 解析器的详细流程。 1. 安装包下载 1.1 Python 下载官网 所有系统安装包 官网地址 系统类型访问地址Machttps://www.python.org/downloads/macos/Linuxhttps://www.python.org/downloads/source/Windowshttps://www…

使用kubeadm方式以及使用第三方工具sealos搭建K8S集群

目录 kubeadm方式: 一、安装要求 二、环境准备 二、安装Docker、kubeadm、kubelet 1、安装Docker (1)首先配置一下Docker的阿里yum源 (2)然后用yum 方式安装docker (3)配置Docker镜像加速器 &#…

解决 HTTP 请求中的编码问题:从乱码到正确传输

文章目录 解决 HTTP 请求中的编码问题:从乱码到正确传输1. **问题背景**2. **乱码问题的原因**2.1 **客户端编码问题**2.2 **请求头缺失**2.3 **服务器编码问题** 3. **解决方案**3.1 **明确指定请求体编码**3.2 **确保请求头正确**3.3 **动态获取响应编码** 4. **调…

DC/DC开关电源学习笔记(十四)Buck-Boost升降压电路仿真与应用案例

Buck-Boost升降压电路仿真与应用案例 1.升压CCM模式仿真(输入12V → 输出-24V)2.降压CCM模式仿真(输入24V → 输出-12V)3.实际应用案例Multisim仿真Buck-Boost电路的步骤说明,分为升压CCM模式和降压CCM模式两部分。 1.升压CCM模式仿真(输入12V → 输出-24V) 电路参数设计…

概率论的基本知识

逆概率还不懂,改天再想想。 联合概率 联合概率(Joint Probability) 是概率论中的一个重要概念,用于描述多个随机变量同时取某些值的概率。联合概率可以帮助我们理解多个变量之间的关系。

数据卷笔记

使用数据卷 # 语法:主要是这个-v 类似-p $ docker run -it -v 主机目录:容器内目录# run一个centos容器,并使用目录挂载 # /home/ceshi:主机home目录下的ceshi文件夹 映射:centos容器中的/home # 将容器里边的home目录挂载到lin…