在学了周志华的《机器学习》和吴立德的《数值优化理论》后,为了加深对机器学习算法的理解,也为了帮助小伙伴们学习,小编结合算法原理和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定义。
以上就是这次的线性模型的内容。
领取专属 10元无门槛券
私享最新 技术干货