机器学习实战之线性回归

之前我们学习的机器学习算法都是属于分类算法,也就是预测值是离散值。当预测值为连续值时,就需要使用回归算法。本文将介绍线性回归的原理和代码实现。

线性回归原理与推导

如图所示,这时一组二维的数据,我们先想想如何通过一条直线较好的拟合这些散点了?直白的说:尽量让拟合的直线穿过这些散点(这些点离拟合直线很近)。

目标函数

要使这些点离拟合直线很近,我们需要用数学公式来表示。首先,我们要求的直线公式为:Y = XTw。我们这里要求的就是这个w向量(类似于logistic回归)。误差最小,也就是预测值y和真实值的y的差值小,我们这里采用平方误差:

求解

我们所需要做的就是让这个平方误差最小即可,那就对w求导,最后w的计算公式为:

我们称这个方法为OLS,也就是“普通最小二乘法”

线性回归实践

数据情况

我们首先读入数据并用matplotlib库来显示这些数据。

def loadDataSet(filename):
    numFeat = len(open(filename).readline().split('\t')) - 1
    dataMat = [];labelMat = []
    fr = open(filename)
    for line in fr.readlines():
        lineArr = []
        curLine = line.strip().split('\t')
        for i in range(numFeat):
            lineArr.append(float(curLine[i]))
        dataMat.append(lineArr)
        labelMat.append(float(curLine[-1]))
    return dataMat, labelMat
回归算法

这里直接求w就行,然后对直线进行可视化。

def standRegres(Xarr,yarr):
    X = mat(Xarr);y = mat(yarr).T
    XTX = X.T * X
    if linalg.det(XTX) == 0:
        print('不能求逆')
        return
    w = XTX.I * (X.T*y)
    return w

算法优缺点

  • 优点:易于理解和计算
  • 缺点:精度不高

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

从数学到实现,全面回顾高斯过程中的函数最优化

作者: Jonathan Landy 机器之心编译 参与:白悦、蒋思源 高斯过程可以被认为是一种机器学习算法,它利用点与点之间同质性的度量作为核函数,以从输入的...

48210
来自专栏新智元

无监督,无需匹配样本!英伟达提出基于GAN的无监督图到图迁移框架

【新智元导读】英伟达研究人员发表论文,提出图像到图像的无监督学习。实现方式值得一看。 大多数现有的图像到图像(image-to-image)迁移框架是基于监督学...

3529
来自专栏AI科技评论

深度 | 用于大规模行人重识别的行人对齐网络

1.Motivation 近年来,对行人重识别(person re-ID)问题的研究也越来越多了。类比于自然语言处理(nlp)的话,大家或者集中于语义层面的设计...

3808
来自专栏智能算法

结合Scikit-learn介绍几种常用的特征选择方法(上)

特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型...

9996
来自专栏有趣的Python和你

机器学习实战之Logistic回归

Logistic回归涉及到高等数学,线性代数,概率论,优化问题。本文尽量以最简单易懂的叙述方式,以少讲公式原理,多讲形象化案例为原则,给读者讲懂Logistic...

1533
来自专栏有趣的Python和你

机器学习实战之线性回归

之前我们学习的机器学习算法都是属于分类算法,也就是预测值是离散值。当预测值为连续值时,就需要使用回归算法。本文将介绍线性回归的原理和代码实现。

1658
来自专栏人工智能头条

结合Scikit-learn介绍几种常用的特征选择方法

2415
来自专栏AI科技评论

开发 | 三年来,CNN在图像分割领域经历了怎样的技术变革?

AI科技评论按:卷积神经网络CNN是深度学习中最典型的算法之一,它可以将图片通过一系列的卷积、非线性、池(采样)、全连接层之后得到一个输出。这篇文章中,我们会一...

3866
来自专栏有趣的Python和你

机器学习实战之Logistic回归

1103
来自专栏目标检测和深度学习

目标检测入门(二):模型的评测与训练技巧

文章结构 ? 检测模型的评测指标 目标检测模型本源上可以用统计推断的框架描述,我们关注其犯第一类错误和第二类错误的概率,通常用准确率和召回率来描述。准确率描述了...

5726

扫码关注云+社区