Machine Learning Series No.1 --Linear Regression

本文深入探讨了线性回归的基本概念及其与拟合的关系,并通过实例展示了如何使用最小二乘法进行线性回归。
前言

最近看了李航老师的《统计学习方法》,还正在学习吴恩达老师的《机器学习》的课程(网易公开课上有,较老的版本)。自从看过《统计学习方法》之后,发现笔记不看其实学习效果并不好。因此想以电子版格式写下来记录,一方面加深自己的印象,一方面也是希望能够和大家交流。

此版本大致与吴恩达老师的《机器学习》课程一致,因为是结合他的课程以及我之前的《统计学习方法》笔记来写的这一系列文章。


以下观点均是本人在学习过程当中的总结,如有疑问或者问题,欢迎大家批评指正,本人万分感谢。

愿大家共同进步!


线性回归(Linear Regression)

At first, I wanna show what is linear regression?
Secondly, what is the differences between regression and fitting?
什么是线性回归?回合和拟合的关系?

  • 拟合和回归的关系
    回归是拟合的一种,拟合是个大概念,除了回归还包括插值等等方法,参考于博客
  • 线性回归
    线性回归的历史来源我也不知道,只是高中的时候大概就知道回归这个概念,老师说一群散点,可以大致画出一条线来表示变量之间的线性关系,使得每个点与线上的值的残差平方和最小,也就是说是最小二乘方法来拟合散点了,这就是我们说的回归的一种形式。

强调一点,线性回归是用来做回归的,这里强调是想让大家记住回归和分类有区别的,线性回归是用来做回归,而不是分类。

学着学着就发现不可逃脱的要写线性回归、逻辑回归、回归、分类,会单独拎出来写一篇文章。

用数据来说一下线性回归用来回归的情况吧,首先画张图:


图1 随机数据集
图1 随机数据集

这个是随机生成的15个点,其对应数据格式为(x,y),这里的y是指label,x是代码中的data。

import numpy as np
data= np.random.random((15,1))
label = np.random.random((15,1))

这样就随机生成了一组数据,如图1所示。
接下来我们就是要去拟合这些点,大致结果如下:


图2 线性回归
图2 线性回归

为什么要用一根线来拟合呢?

因为我们做的是线性回归,线性指的是 x x y之间是存在线性关系的,我们做线性回归的目的是为了拟合这种线性关系。以数学公式说明,我们假设 y=wTx y = w T x w w 是系数,最简单的y=3x,此时 w w 是一个一维向量,复杂的时候,w是一个 n n 维向量。这里为了画图,我使得x,y呈现最简单的类似于 y=3x y = 3 x 这种关系。

How do I get this result?

#使用线性回归拟合这些点
from sklearn import linear_model
from sklearn.metrics import mean_squared_error,r2_score
reg = linear_model.LinearRegression()
reg.fit(data,label)
y_pre = reg.predict(data)

这里我用了scikit-learn中的linear_model去拟合这些点,我们且不看效果如何,那么这里是怎么得到中间那条线的呢?
参照scikit-learn中linear_model中的官方文档中的介绍,我们可以知道,这里拟合采用的最小二乘算法。
也就是说,我们的目标函数如下:


最小二乘的目标函数
最小二乘的目标函数

上述摘自scikit-learn官方文档。

So,Why should we minimize the residual sum of squares?


为什么是最小二乘呢?

为什么线性回归要使用最小二乘?
这里参照吴恩达老师的课程当中的讲授,简要说一下。
我们进行线性回归(或者说线性拟合)时,我们往往认为因变量和自变量之间呈现某种线性关系,形象的说,如下所示:


线性关系
线性关系

上述摘自scikit-learn官方文档。

一般化的:


y=wTx+ε y = w T x + ε , where ε ε is the risidual. ε ε 是残差。

假设 ε ε 符合正态分布 N(0,σ2) N ( 0 , σ 2 ) ,结果可得:

p(yi|xi;w)=e(yiwTxi)2σ22πσ p ( y i | x i ; w ) = e − ( y i − w T x i ) 2 σ 2 2 π σ

采用极大似然函数估计,极大似然函数为:

L(w)=ni=1p(yi|xi;w) L ( w ) = ∏ i = 1 n p ( y i | x i ; w )

最后对数,求极值(即极大似然法的求解步骤),可得极大似然等价于最小二乘法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值