线性回归——最小二乘法(二)

上篇文章中介绍了单变量线性回归,为什么说时单变量呢,因为它只有单个特征,其实在很多场景中只有单各特征时远远不够的,当存在多个特征时,我们再使用之前的方法来求特征系数时是非常麻烦的,需要一个特征系数一个偏导式,而却最要命的时特性的增长时及其迅猛的,几十、几百、几千……

单变量线性回归:
多变量线性回归:

  所以从这里我们开始将介绍线性回归的另一种更方便求解多变量线性回归的方式:最小二乘法矩阵形式

模型变换

  线性回归的标量形式:

  这里把上诉式子中的系数m与误差c转换为向量(为了统一从下面开始使用
表示c与m),把式子中c看成是1c,把1与特征x也转换为向量;

所以有: 

损失函数

  损失函数也可以变为:

  根据矩阵乘积转置规则损失函数可以进一步化简为:


偏导数

  还是和之前一样求损失函数L的极小值,所以求上式L关于W的偏导数;

向量微分常用等式

求L关于W的偏导数:

因为

则有:

W则是通过矩阵形式求出来的最小乘法的解;

示例

  下面还是先使用上次的那组数据进行线性拟合,然后再使用多变量数据再次进行线性拟合已验证上诉算法:

单变量线性回归示例:

这里使用上面得到的最小二乘法矩阵形式公式对以下数据集进行线性拟合:

n x y
1 2 4
2 6 8
3 9 12
4 13 21

x、y的矩阵为:

根据公式求w

以下子求整个式子不好求,我们可以先分解该公式;



所以,也就是c=-0.23092,m=1.53092

线性回归函数可以写成:y = 1.53092x -0.23092

预测y的值:

y = 1.53092 * 2 - 0.23092=2.83092
y = 1.53092 * 6 - 0.23092=8.9546
y = 1.53092 * 9 - 0.23092=13.54736
y = 1.53092 * 13- 0.23092=19.67104

  与上偏文章直接求关于m与c的偏导得出来的结果几乎一样(因为小数点不同所以精度有所差异);下篇文章我们将使用本篇文章里的最小二乘法矩阵形式处理多变量的情况;

参考资料:
https://zh.wikipedia.org/zh/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95
a first course in machine learning

文章首发地址:Solinx
http://www.solinx.co/archives/721

时间: 2024-11-10 08:18:47

线性回归——最小二乘法(二)的相关文章

机器学习 —— 基础整理(五):线性回归;二项Logistic回归;Softmax回归;广义线性模型

本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 二项Logistic回归是我去年入门机器学习时学的第一个模型,我觉得这个模型很适合用来入门(但是必须注意这个模型有很多很多很多很多可以展开的地方).比较有意思的是那时候还不会矩阵微积分,推导梯度时还是把矩阵全都展开求的(牛顿法要用的二阶梯度也是)... 下面的文字中,"Logistic回归"都表示用于二分类的二项Logistic回归. 首先约定一下记号

线性回归——最小二乘法_实例(二)

上篇文章介绍了最小二乘法矩阵形式的理论与证明.计算过程,这里使用程序代码的方式计算出矩阵形式的解,并给出线性拟合: Octave代码 clear all;close all; % 拟合的数据集 x = [1,2;1,6;1,9;1,13]; y = [4;8;12;21]; % 根据公式 w = (x'*x)^-1 * x' * y % 与上篇文章一样一步步分解如下,其实这里可以不用分解,上篇文章分解时为了好计算 x_t =x'*x; %% (x'*x)^-1或inv(x' * x) x_i =

机器学习--线性回归 最小二乘法

机器学习第1天 欢迎转载,请标明出处(http://blog.csdn.net/tonyshengtan),尊重劳动,尊重知识,欢迎讨论. 开篇废话 话说在高中数学统计的部分就有学过最小二乘法,现在想想,当时没有严格的推倒和实用背景,单纯的给了公式然后做应用题,不过也印证了乔布斯的一句话,不管你现在在做什么,你都无法预料到这对你以后是否有影响,你只能看到过去,无法看到未来. 最小二乘法(Least squares) 为什么叫最小二乘法,首先最小明确的告诉你,俺们求出来的是全局的最值,不是极值,就

线性回归——最小二乘法(一)

相信学过数理统计的都学过线性回归(linear regression),本篇文章详细将讲解单变量线性回归并写出使用最小二乘法(least squares method)来求线性回归损失函数最优解的完整过程,首先推导出最小二乘法,后用最小二乘法对一个简单数据集进行线性回归拟合: 线性回归 线性回归假设数据集中特征与结果存在着线性关系: 等式:y = mx + c y为结果,x为特征,m为系数,c为误差 在数学中m为梯度c为截距 这个等式为我们假设的,我们需要找到m.c使得mx+c得到的结果与真实的

线性回归——最小二乘法_实例(一)

上篇文章介绍了最小二乘法的理论与证明.计算过程,这里给出两个最小二乘法的计算程序代码: Octave代码 clear all;close all; % 拟合的数据集 x = [2;6;9;13]; y = [4;8;12;21]; % 数据长度 N = length(x); % 3 %% 计算x平均值 m_x = sum(x)/N; %% % 计算t的平均值 m_t = sum(y)/N; %% % 计算t*x的平均值 m_xt = sum(y.*x)/N; %% % 计算x平方的平均值 m_x

02-04 线性回归

目录 线性回归 一.线性回归学习目标 二.线性回归引入 三.线性回归详解 3.1 线性模型 3.2 一元线性回归 3.2.1 一元线性回归的目标函数 3.2.2 均方误差最小化--最小二乘法 3.3 多元线性回归 3.3.1 均方误差最小化--最小二乘法 3.3.2 均方误差最小化--牛顿法(TODO) 3.3.3 均方误差最小化--拟牛顿法(TODO) 3.4 多项式回归 3.5 对数线性回归 3.6 局部加权线性回归 3.7 正则化 3.7.1 L1正则化 3.7.2 L2正则化 3.7.3

计算机图形学(二)输出图元_6_OpenGL曲线函数_5_其他曲线

其他曲线 许多曲线函数在对象建模.动画轨迹的描述.数据和函数的图形化以及其他图形应用中是十分有用的.常见的曲线包括圆锥曲线.三角和指数函数.概率分布.通用多项式和样条函数.这些曲线的显示可采用类似于前面讨论的圆和椭圆函数来生成.沿曲线轨迹的位置可直接从表达式y =f (x)或参数方程中得到.此外,还可以使用增量中点算法绘制用隐式函数f(x,y) = 0描述的曲线. 显示一指定的曲线函数的简单方法是使用直线段来逼近曲线.这时,对于要得到沿曲线轨迹的等距线段的端点位置,则可以使用参数表达式.也可以按

python机器学习之线性回归

#线性回归最小二乘法 from sklearn import linear_model import sys import tushare as ts import matplotlib.pyplot as plt import pandas as pd import sklearn.metrics as sm sh=ts.get_hist_data('sh').sort_index()#获取上证指数每日数据,并按时间索引排序 pf=ts.get_hist_data('600000').sort

08-01 通过线性回归了解算法流程

目录 通过线性回归带你了解算法流程 一.1. 1 线性回归引入 二.1. 2 决策函数 三.1. 3 损失函数 四.1. 4 目标函数 五.1. 5 目标函数最小化 六.1. 6 过拟合 七.1. 7 正则化 7.1 1. 7.1 L1正则化 7.2 1. 7.2 L2正则化 八.1. 8 训练集.验证集.测试集 8.1 1. 8.1 训练集 8.2 1. 8.2 验证集 8.3 1. 8.3 测试集 九.1. 9 本章小结 更新.更全的<机器学习>的更新网站,更有python.go.数据结构