机器学习第一篇——线性模型

在学了周志华的《机器学习》和吴立德的《数值优化理论》后,为了加深对机器学习算法的理解,也为了帮助小伙伴们学习,小编结合算法原理和sklearn的用法对机器学习常见算法进行归纳总结。有兴趣的可以关注下我的CSDN博客专栏。专栏地址:https://blog.csdn.net/column/details/26131.html。

这次小编还是打算从机器学习最简单的线性回归开始介绍,在介绍之前,先介绍下最小二乘法。

一、最小二乘法

最小二乘法就是普通的无约束优化问题,具体请看吴立德教授的讲解视频。传送门:https://www.bilibili.com/video/av10289610/?p=17。

有了最小二乘法的概念,我们再来看看机器学习中的线性模型。

二、线性模型

由于线性模型的函数是凸函数,所以它的最优化解的一阶充分必要条件为一阶导数为0。

三、LinearRegression

有了原理之后,我再向大家介绍使用sklearn中一个简单的例子如下。

>>>fromsklearnimportlinear_model

>>>reg=linear_model.LinearRegression()

>>>reg.fit([[,],[1,1],[2,2]],[,1,2])

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

>>>reg.coef_array([ 0.5, 0.5])

下面我对LinearRegression的参数进行如下说明:

Parameters :

fit_intercept: boolean, optional, default True

模型是否使用截距,也就是模型中的独立变量b。值默认为 True,如果值为False,则不会计算截距。

normalize: boolean, optional, default False

数据样本X在训练之前是否需要标准化,如果fit_intercept= False,则此参数忽略。标准化的原理和

copy_X: boolean, optional, default True

当值为True的时候,即可保证训练过程不会修改原来的数据样本,否则有可能修改原来的数据样本。

n_jobs: int, optional, default 1

计算时使用的CPU数目。

Attributes:

coef_: array, shape (n_features, ) or (n_targets, n_features)

线性回归的参数,即模型中的W。

intercept_: array

截距,即模型中的独立变量b

Methods:

(X, y[, sample_weight])

拟合模型,即利用数据样本训练,得到模型的参数。

(X)

对输入的新数据样本进行回归预测。

(X, y[, sample_weight])

返回模型在数据样本X、y上的得分。得分计算公式R2定义。

以上就是这次的线性模型的内容。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180813G1P4FW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券