【ML-1】线性回归基础--用于预测

线性回归可以说是机器学习中最基本的问题类型了,这里就对线性回归的原理和算法做一个小结

目录

  1. 背景
  2. 简述
  3. 内容详解
  4. 密度聚类
  5. 层次聚类
  6. 模型效果判断

附件:手写推导过程练习

一、线性回归函数定义

二、线性回归的模型函数和损失函数由来

原因:中心极限定理

实际问题中,很多随机现象可以看做众多因素的独立影响的综合反应,往往服从正态分布

从最大似然函数角度出发,是使得最大似然越大越好,假设有m个样本,每个样本对应于n维特征和一个结果输出,如下:

从上面式子的后半部分,要使得上式MAX,即使求解后半部分的MIN。这也和我们的目标减小ε的值,使其最小平方数和最小不谋而合:

由于矩阵法表达比较的简洁,后面我们将统一采用矩阵方式表达模型函数和损失函数。

二、最小二乘法

参数解析式:

最小二乘法直接求解的难点:矩阵逆的求解是一个难处

具体可见另一篇文章:?最小二乘法(least squares)介绍

当然线性回归,还有其他的常用算法,比如牛顿法和拟牛顿法,这里不详细描述。

三、 线性回归的推广:多项式回归

四、线性回归的推广:广义线性回归

五、线性回归的正则化(防止过拟合)

为了防止模型的过拟合,我们在建立线性模型的时候经常需要加入正则化项。一般有L1正则化和L2正则化。当然这种方法不是仅仅局限于在线性回归中使用,在后面很多机器学习方法中都有涉及。

使用L2正则的线性回归模型就称为Ridge回归(岭回归)。Ridge回归的求解比较简单,一般用最小二乘法。这里给出用最小二乘法的矩阵推导形式,和普通线性回归类似。

使用L1正则的线性回归模型就称为LASSO回归(Least Absolute Shrinkage andSelection Operator)

LASSO(L1-norm)和Ridge(L2-norm)比较

L1很容易产生为0的稀疏矩阵。因为这种情况下更容易交到坐标轴上。

  1. L2-norm中,由于对于各个维度的参数缩放是在一个圆内缩放的,不可能导致有维度参数变为0的情况,那么也就不会产生稀疏解;实际应用中,数据的维度中是存在噪音和冗余的,稀疏的解可以找到有用的维度并且减少冗余(某些系数的值可以降低为0),提高回归预测的准确性和鲁棒性(减少了overfitting)(L1-norm可以达到最终解的稀疏性的要求)
  2. Ridge模型具有较高的准确性、鲁棒性以及稳定性;LASSO模型具有较高的求解速度,常用于特征选择,因为可以降低特征数量。
  3. 如果既要考虑稳定性也考虑求解的速度,就使用Elasitc Net同时使用L1正则和L2正则的线性回归模型就称为Elasitc Net算法(弹性网络算法)

总之:一般使用L2,除非希望得到系数解

六、模型效果判断

  1. MSE:误差平方和,越趋近于0表示模型越拟合训练数据。
  2. RMSE:MSE的平方根,作用同MSE
  3. R2:取值范围(负无穷,1],值越大表示模型越拟合训练数据;最优解是1;当模型预测为随机值的时候,有可能为负;若预测值恒为样本期望,R2为0
  4. TSS:总平方和TSS(Total Sum of Squares),表示样本之间的差异情况,是伪方差的m倍
  5. RSS:残差平方和RSS(Residual Sum of Squares),表示预测值和样本值之间的差异情况,是MSE的m倍

七、总结

  1. 算法模型:线性回归(Linear)、岭回归(Ridge)、LASSO回归、Elastic Net
  2. 正则化:L1-norm、L2-norm
  3. 损失函数/目标函数

  4. θ求解方式:最小二乘法(直接计算,目标函数是平方和损失函数)、梯度下降(BGD\SGD\MBGD)--请看后面的【2】和【3】文章

?
?

原文地址:https://www.cnblogs.com/yifanrensheng/p/12354371.html

时间: 2024-10-08 14:34:07

【ML-1】线性回归基础--用于预测的相关文章

【Python数据挖掘课程】五.线性回归知识及预测糖尿病实例

今天主要讲述的内容是关于一元线性回归的知识,Python实现,包括以下内容:        1.机器学习常用数据集介绍        2.什么是线性回顾        3.LinearRegression使用方法        4.线性回归判断糖尿病        前文推荐:       [Python数据挖掘课程]一.安装Python及爬虫入门介绍       [Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍       [Python数据挖掘课程]三.Kmean

02-06 普通线性回归(波斯顿房价预测)+特征选择

目录 普通线性回归(波士顿房价预测) 一.导入模块 二.获取数据 2.1 打印数据 三.特征选择 3.1 散点图矩阵 3.2 关联矩阵 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ 普通线性回归(波士顿房价预测) 一.导入模块 import pandas as pd import numpy as np import matplotlib.

02-11 RANSAC算法线性回归(波斯顿房价预测)

目录 RANSAC算法线性回归(波斯顿房价预测) 一.RANSAC算法流程 二.导入模块 三.获取数据 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ RANSAC算法线性回归(波斯顿房价预测) 虽然普通线性回归预测结果总体而言还是挺不错的,但是从数据上可以看出数据集中有较多的离群值,因此本节将使用RANSAC算法针对离群值做处理,即根据数据

02-07 多元线性回归(波士顿房价预测)

目录 多元线性回归(波士顿房价预测) 一.导入模块 二.获取数据 三.训练模型 四.可视化 五.均方误差测试 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ 多元线性回归(波士顿房价预测) 一.导入模块 import pandas as pd import matplotlib.pyplot as plt from matplotlib.font_manager im

azure Machine learing studio 使用示例之 - 使用线性回归算法完成预测评估

本文演示如何使用azure studio基于云测试数据创建第一个machine learning的experiment,算法选择是线性回归.首先要有一个azure studio账号,登录后进入dashboard. 创建一个BLANK的Experiment 添加测试数据 , 搜索Price, 选择Automibile price data(Raw) 把这个模块拖到右边的data item位置 搜索Project column模块,拖到右边,在Project columns中点击 'Launch c

机器学习实战教程(一):线性回归基础篇(上)

一 什么是回归? 回归的目的是预测数值型的目标值,最直接的办法是依据输入,写入一个目标值的计算公式. 假如你想预测小姐姐男友汽车的功率,可能会这么计算: HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio 这就是所谓的回归方程(regression equation),其中的0.0015和-0.99称为回归系数(regression weights),求这些回归系数的过程就是回归.一旦有了这些回归系数,再

机器学习实战教程(一):线性回归基础篇(中)

局部加权线性回归 线性回归的一个问题是有可能出现欠拟合现象,因为它求的是具有小均方误差的无偏估 计.显而易见,如果模型欠拟合将不能取得好的预测效果.所以有些方法允许在估计中引入一 些偏差,从而降低预测的均方误差. 其中的一个方法是局部加权线性回归(Locally Weighted Linear Regression,LWLR).在该方法中,我们给待预测点附近的每个点赋予一定的权重.与kNN一样,这种算法每次预测均需要事先选取出对应的数据子集.该算法解除回归系数W的形式如下: 其中W是一个矩阵,这

【运筹学基础】——预测

本章的重点是在讲方法,这些方法基本上都是用计算去解决,所以我就总结了一下方法. 一.定性 简单来说,定性预测方法有两个,一个是背对背(特尔斐),另一个是面对面(专家小组) (1)特尔斐法:在专家群中取得比较一致的意见,匿名发表意见. 程序: 1.定课题 2.选专家 3.设计咨询表 4. 逐轮咨询,信息反馈 5.统计分析 适合长期或中期预测 (2)专家小组法:接受咨询的专家自由结合成小组讨论. 优:相互协商,讨论补充. 缺:被权威人士左右观点. 主要适合于短期预测. 二.定量 定量预测部分是需要用

机器学习算法概述第一章——线性回归

一.机器学习是什么 机器学习是人类用数学的语言通过大量的数据训练"教会"计算机做出一系列的行为. 二.机器学习的主要算法 ①线性回归算法 衍生的:正则化 ②逻辑回归算法 ③KNN算法 衍生的KD-tree 三.算法介绍 ①线性回归算法 运用线性模型y=ax+b,去拟合数据集,进行数据集的预测.在算法中,X为特征向量,即y的影响因素,w与b为可调整的模型参数.为了方便记忆,W=(w1,w2,w3,…wn,b),X=(x(1),.....x(n) 解析解:最小二乘法(又称最小平方法)是一种