线性回归算法梳理

机器学习的基本概念

机器学习是这样的一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。Mitchell(1997)提出了一个简洁的定义:“对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指,通过E改进后,它在T上由P衡量的性能有所提升”。(参考西瓜书,紫皮书还有蓝皮书)

  1. 任务T:如分类,回归,转录,机器翻译,异常检测,去噪等等。
  2. 性能度量P:用于评估机器学习算法的能力。对于诸如分类和转录等任务,通常度量模型的准确率(accuracy),即该模型输出正确结果的样本比率。或者通过**错误率(errorrate)**来评估,通常把错误率称为0-1损失的期望。但是,对于密度估计等任务,最常用的方法是输出模型在一些样本上概率对数的平均值。
  3. 经验E:根据学习过程中的不同经验,机器学习算法可以大致分为*无监督算法(unsupervised)*和监督算法(supervised).

有监督、无监督

大部分的机器学习算法可以分成监督学习和无监督学习两类:

  1. 无监督学习算法(unsupervised learning algorithm):训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质 。在深度学习中,通常要学习生成数据集的整个概率分布,显式的如密度估计,隐式的如合成或者去噪,其他的无监督学习任务,如聚类,将数据集分成相似样本的集合。
  2. 监督学习算法(supervised learning algorithm):训练含有很多特征的数据集,不过数据集中的样本都有一个标签(label)目标(target)

泛化能力

机器学习的目标是使学得的模型能很好地适用于“新样本”。学得模型适用于新样本的能力称为“泛化(generalization)能力”.具有强泛化能力的模型能很好地适用于整个样本空间。

过拟合、欠拟合

以下是决定机器学习算法效果是否好的因素:
1)降低训练误差
2)缩小训练误差和测试误差的差距
这两个因素对应机器学习的两个主要挑战:欠拟合(underfitting)和过拟合(overfitting)。
所谓过拟合(overfitting),就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳.

过拟合问题产生原因:训练数据集太小;模型太复杂;过度训练
常见解决过拟合方法:增加训练数据量、减少模型的复杂度、添加正则项等.

欠拟合是指模型不能在训练集上获得足够低的误差,而过拟合是指训练误差和测试误差之间的差距太大。
示意图:
在这里插入图片描述

正则化

正则化是指修改学习算法,使其降低泛化误差而非训练误差。

交叉验证

交叉验证法是先将数据集划分为K个大小相似的互斥子集。每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用K-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可以获得k组训练/测试集,从而进行k次训练和测试,最终返回的是这k个测试结果的均值。

线性回归

在介绍线性回归之前,先了解一下线性模型。线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即:
f(x)=w1x1+w2x2+…+wdxd+b
一般用向量形式写成:
f(x)=w^Tx+b
w和b学得以后,模型便得以确定。
线性模型具有很好的可解释性。

线性回归的原理

顾名思义,线性回归解决回归问题。线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。具体而言,其目标是建立一个系统,将向量x作为输入,预测标量y作为输出。线性回归的输出是其输入的线性函数。

回归问题按照输入变量的个数,可以分为一元回归和多元回归。

线性回归的损失函数/代价函数、目标函数

先了解一下损失函数/代价函数:
监督学习问题是在假设空间F中选取模型f作为决策函数,对给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致,用一个损失函数(loss function)或代价函数(cost function)来度量预测错误的程度。损失函数是f(X)和Y的非负实值函数,记为L(Y,f(X)).

统计学习常用的损失函数有以下几种:
1)0-1损失函数(0-1 loss function)
2) 平方损失函数(quadratic loss function)
3)绝对损失函数(absolute loss function)
4)对数损失函数(logarithmic loss function)

损失函数值越小,模型就越好。

度量模型性能的一种方法是计算模型在测试集上的均方误差(mean squared error):
在这里插入图片描述
线性回归的损失函数、目标函数为最小二乘:
链接: 1.
链接: 2.

一元线性回归的参数求解公式推导

https://blog.csdn.net/wx_blue_pig/article/details/79779500

多元线性回归的参数求解公式推导

https://blog.csdn.net/weixin_39445556/article/details/81416133

线性回归的评估指标及原理

R-Squared 和 Adjusted R-Squared 都可以用来评估线性回归模型。

F Statistics 是指在零假设成立的情况下,符合F分布的统计量,多用于计量统计学中。

RMSE 指的是均方根误差:
在这里插入图片描述

sklearn参数详解

Scikit-Learn是Python下强大的机器学习工具包,它提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测和模型分析等。
创建一个机器学习的模型很简单:

#-*-coding:utf-8-*-
from sklearn.linear_model import LinearRegression #导入线性回归模型
model=LinearRegression()#建立线性回归模型
print(model)

1)所有模型提供的接口有:
model.fit():训练模型,对于监督模型来说是fit(X,y),对于非监督模型是fit(X)
2)监督模型提供的接口有:
model.predict(X_new):预测新样本
model.predict_proba(X_new):预测概率,仅对某些模型有用(比如LR)
model.score():得分越高,fit越好
3)非监督模型提供的接口有:
model.transform():从数据中学到新的“基空间”
model.fit_transform():从数据中学到新的基并将这个数据按照这组“基”进行转换。

https://www.baidu.com/link?url=PX8H0lZnjU4UQVgENx6RWvNnSiLDLnjnak1gUsVPym95CmDGAFeg0211gKSYS6MqVfNjzf3JMB6TlW7-hqgNr_&wd=&eqid=c6c074b5000b9b05000000035c792965

https://www.baidu.com/link?url=zvRwd6Emwtn1RH4068rxLTE5OZjih2HZWTmDoxyxMtJI4SgXKNThAhN396gWbCkvP16joqfFuNIGYukHPPopNa&wd=&eqid=c6c074b5000b9b05000000035c792965

https://www.baidu.com/link?url=ve4LRmXKjen_FrzEoUqya7wM9MR0GjTjnwaogrbLuUxp2gzjHEeOUfznAb_0RCGf1x6eJpFB9gnvft3PmtL-1q&wd=&eqid=c6c074b5000b9b05000000035c792965

https://blog.csdn.net/yyy430/article/details/80535845


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值