机器学习实战之线性回归

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

线性回归原理与推导

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

目标函数

要使这些点离拟合直线很近,我们需要用数学公式来表示。首先,我们要求的直线公式为:Y = X<sup>T</sup>w。我们这里要求的就是这个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

算法优缺点

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WD学习记录

机器学习 学习笔记(7)多分类学习与类别不平衡

现实中常遇到多分类学习任务,有些二分类学习方法可以直接推广到多分类,但在更多情况下,是基于一些基本策略,利用二分类学习器来解决多分类问题。

4721
来自专栏SIGAI学习与实践平台

集成学习综述-从决策树到XGBoost

在之前缅怀金大侠的文章“永远的金大侠-人工智能的江湖”中提到:集成学习是机器学习中一种特殊的存在,自有其深厚而朴实的武功哲学,能化腐朽为神奇,变弱学习为强学习,...

1993
来自专栏数据处理

最大似然函数最大似然原理小结:最大似然估计法的一般步骤:例子:

5K2
来自专栏新智元

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

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

3639
来自专栏人工智能

通过协同绘制用GAN合成高分辨率无尽道路

来源:arXiv 编译:Bing 生成对抗网络一直是深度学习的重要工具,经过近几年的发展,GANs也衍生出了许多不同的模式,例如DCGANs、Wasserste...

2177
来自专栏人工智能头条

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

2925
来自专栏有趣的Python和你

机器学习实战之线性回归

1515
来自专栏iOSDevLog

逻辑回归

1893
来自专栏机器之心

SIGIR 2018 | 大会最佳短论文:利用对抗学习的跨域正则化

近期学界有多个神经排序模型被提出,这些模型通过考虑原始查询-文档文本(query-document text)[14]、基于确切的查询词项匹配文档的模式 [5]...

782
来自专栏有趣的Python和你

机器学习实战之Logistic回归

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

1593

扫码关注云+社区

领取腾讯云代金券