机器学习2-线性回归

2023-11-19

一、矩阵求导公式

1、总体情况
在这里插入图片描述
2.分子布局(Numerator layout)和分母布局(Denominator layout)
首先我们常说 y 对 x 求导,这里的 y 和 x 均默认为列向量,y为(mx1), x为(nx1)
(1)分子布局——较为常用
y 对 xT 求导,即对行向量求导。得到mxn的矩阵。比如雅可比矩阵,就是典型的分子布局。雅可比矩阵形式如下:
在这里插入图片描述
可见y依然是竖向变化的,而横向是对不同的x求导,也就是说x是横向的。所以是y对 xT 求导。
(2)分母布局——较为常用
yT 对 x 求导,即对列向量求导,得到nxm的矩阵。其实此矩阵是分子布局求出来的矩阵的转置。

而我们知道,梯度ᐁ是导数的转置,,我们一般用分母布局求出的导数需要进行转置才能得到梯度。因此梯度ᐁ可以直接由分子布局的求导得到,也就是上面所说的雅可比矩阵。

海森矩阵是典型的分母布局。

下面建议,将所有的导数均按照分母布局进行计算和解析,然后如果求的是梯度,则取转置即可。
3.计算规律(向量均是列向量)
在这里插入图片描述
(2)标量对向量求导
在这里插入图片描述
经常,∂x 的二阶导数会被写成(∂x)2,只是为了方便表述而已,其实应该是∂x∂xT 。
(3)向量对标量求导
在这里插入图片描述
4.补充
(1)导数和梯度
导数和梯度互为转置,在泰勒展开时,经常会把展开结果写成梯度乘以向量的形式。注意区别。
(2)雅可比矩阵和海森矩阵的形式
雅可比矩阵的形式:
在这里插入图片描述
海森矩阵的形式:
在这里插入图片描述
声明:以上内容转载自:
https://blog.csdn.net/weixin_44684139/article/details/109676877

二、一元线性回归

概述:
回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系
回归模型是表示输入变量到输出变量之间的映射函数
回归问题的学习等价于函数拟合:使用一条函数曲线使其很好的拟合已知函数且很好的预测未知数据。

回归问题按照输入变量的个数可以分为一元回归和多元回归,按照输入变量和输出变量之间的关系可以分为线性回归和非线性回归

一元线性回归模型:
y=ax+b

误差:真实值和预测值之间肯定存在差异,对于每个样本:
在这里插入图片描述
在这里插入图片描述
误差是独立并且具有服从均值为0的高斯分布

公式推导过程如下:
在这里插入图片描述
在这里插入图片描述

案例代码实现如下:

import numpy as np
import matplotlib.pyplot as plt
def Linnear_Regression(x,y):
    x_mean = np.mean(x)
    y_mean = np.mean(y)
    m = len(x)
    numerator=denominator=0
    for i in range(m):
        numerator+=(x[i]*y[i]-y_mean*x[i])
        denominator+= (x[i]**2-x_mean*x[i])
    w = numerator/denominator
    b = y_mean-w*x_mean
    return w,b

def predict_model(w,b,x):
    return w*x+b

if __name__ == "__main__":
    x = [4, 8, 5, 10, 12]
    y = [20, 50, 30, 70, 60]
    w,b = Linnear_Regression(x,y)
    print(w,b)
    print(predict_model(w,b,15))
    plt.scatter(x,y,marker="o",c="r")
    i = np.linspace(0,15,100)
    res_i = w*i+b
    plt.plot(i,res_i)
    mark_res=predict_model(w,b,15)
    plt.plot(15,mark_res,marker="x")
    plt.show()

输出:

5.714285714285713 1.4285714285714448
87.14285714285714

在这里插入图片描述

三、多元线性回归

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归
表达式如下:
在这里插入图片描述
其中:
在这里插入图片描述
在这里插入图片描述
对于输入数据和输出数据y而言。假设y是mn的矩阵,那么x就是m(n+1)列的矩阵,最后一列值全为1。
公式推导过程如下:
在这里插入图片描述
多元线性回归的sklearn库包实现

from sklearn import linear_model
model = linear_model.LinearRegression()
x_train =  [[1, 0., 3], [1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习2-线性回归 的相关文章

  • 机器学习算法——K-近邻算法(代码实现手写数字识别)

    0 引言 xff0c K 近邻算法是一种非常有效的分类算法 xff0c 它非常有效且易于掌握 原理 xff1a K 近邻算法通过计算不同样本之间的距离来分类物品 使用前 xff0c 我们需要有一个训练样本集 xff0c 并且样本集中每个数据
  • 机器学习算法(一):逻辑回归模型(Logistic Regression, LR)

    目录 1 LR 1 1 直观表述 1 2 决策边界 Decision Boundary 2 权值求解 2 1 代价函数 似然函数 2 1 1 为什么损失函数不用最小二乘 即逻辑斯蒂回归损失函数为什么使用交叉熵而不是MSE 2 1 2 代价函
  • CNN的重点整理

    1 常用的非线性激活函数 sigmoid tanh relu等等 前两者sigmoid tanh比较常见于全链接层 后者relu常见于卷积层 这里先简要介绍下最基础的sigmoid函数 btw 在本博客中SVM那篇文章开头有提过 sigmo
  • 算法实践1_线性回归

    参数解释 sklearn linear model LinearRegression fit intercept True normalize False copy X True n jobs None 超参 解释 类型 默认值 fit i
  • 树形算法

    树形算法 adaboost GBDT 回归问题 XGBOOST lightgbm bagging和boosting 区别 adaboost 二分类问题 给定一个数据集T x1 y1 x2 y2 xn yn 其中y取1和 1 权值初始化 D1
  • 机器学习二-kmeans-kdtree

    机器学习纯java代码 点击打开链接 KD树介绍http www pelleg org shared hp kmeans html 我们的数据集也是从5高斯分布中随机生成的8000个点 你应该看到底层的Gaussians 蓝色边界表示 根
  • 机器学习算法(二十四):最近邻算法 KNN(k-nearest neighbor)

    目录 1 基于实例的学习 2 k 最近邻法 2 1 算法概述 2 2 kNN算法的一般流程 2 3 距离公式 2 4 k值的选择 2 5 KNN特点 2 5 1 特点 2 5 2 KNN算法的优势和劣势 3 距离加权最近邻算法 k 最近邻算
  • 线性分类模型(二):logistic回归模型分析

    前言 上一篇文章介绍了线性判别模型 本文介绍线性生成模型 logistic回归模型 本文介绍logstic回归模型相关的知识 为了更好理解模型的决策边界函数 本文同时分析了多元变量的协方差对概率分布的影响 目录 1 logistic回归模型
  • 【深度学习】常见优化算法

    本文介绍常见的一阶数值优化算法 这些方法在现代神经网络框架 tensorflow caffe torch 中已经是标准配置 问题 设系统参数为 omega 对于样本 i i i 其代价函数为
  • 数据预测分析

    数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 目录 数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 基本介绍 数据下载 程序设计 参考资料 致谢 基本介绍 此示例说明如何使用通用时间卷积网络 TCN 对序列数据
  • 【机器学习】最大熵算法 整理

    最大熵模型由最大熵原理推导实现 1 最大熵原理 最大熵原理认为 学习概率模型时 在所有可能的概率模型 分布 中 熵最大的模型是最好的模型 通常用约束条件来确定概率模型的集合 所以 最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的
  • Pytroch 模型权重初始化

    目录 1 概念 2 权值初始化方法 2 1 常数初始化 2 2 均匀分布初始化 2 3 正态分布初始化 2 4 Xavier 均匀分布 2 5 Xavier 正态分布 2 6 kaiming 均匀分布 2 7 kaiming 正态分布 2
  • 关于Pytorch中的向量拼接

    torch cat A torch ones 2 4 print A B 2 torch ones 2 4 print B C torch cat A B 0 print C D torch cat A B 1 print D A的输出 t
  • 【机器学习-分类】决策树预测

    我用一些机器学习的算法对数据进行一个分类 下面是一些需要用到的基础代码 以决策树为例 并不包括针对项目的模型处理和修改 留作记忆学习 对于数据划分训练集直接省略 def Tree score depth 3 criterion entrop
  • kaggle:泰坦尼克生存预测( R语言机器学习分类算法)

    本文在基本的多元统计分析技术理论基础上 结合机器学习基本模型 选择Kaggle 数据建模竞赛网站 的入门赛 Titanic生存预测作为实战演练 较为完整地呈现了数据建模的基本流程和思路 采用的模型有逻辑回归 决策树 SVM支持向量机以及进阶
  • 指数平滑法(Exponential Smoothing,ES)

    目录 1 指数平滑 2 一次指数平滑预测 又叫简单指数平滑 simple exponential smoothing SES 2 1 定义 2 2 例题 3 二次指数平滑法 Holt s linear trend method 3 1 定义
  • 残差神经网络(ResNet)

    残差神经网络的主要贡献是发现了退化现象 并针对退化现象发明了快捷连接 shortcut connection 极大的消除了深度过大的神经网络训练困难问题 1 神经网络越深准确率越高 假设一个层数较少的神经网络已经达到了较高准确率 可以在这个
  • KNN算法优缺点、原理及参数最优解

    文章目录 1 KNN算法简介 1 1 简述 1 2 优缺点 1 3 适用数据范围 2 工作原理 2 1 训练样本集 2 2 电影类别的KNN分析 如何进行电影分类 在这里插入图片描述 2 3 欧几里得距离 Euclidean Distanc
  • 用KNN(K近邻算法)和ANN(人工神经网络)建立预测模型

    数据 输入 32 维的向量 输出一个值 有151组这样的数据 目的 用这样一组数据建立一个预测模型 输入32维的向量就能预测一个值 代码部分 1 导入工具包 在import pandas as pd import seaborn as sn
  • 动态模型系列笔记(一)——隐马尔可夫模型(HMM)

    隐马尔可夫模型 背景介绍 提纲 隐马尔可夫模型 HMM 符号表示 两个假设 三个问题 Evaluation Learning Decoding 小结 附录 背景介绍 隐马尔可夫模型 HMM 是一种概率图模型 我们知道 机器学习模型可以从频率

随机推荐