机器学习十大算法--1.线性回归 (Linear Regression)

线性回归优缺点

优点:结果易于理解,计算上不复杂
缺点:对非线性数据拟合不好
适用数据类型:数值型和标称型数据
目的:预测数值型的目标值

线性回归算法简介

1.1 什么是回归分析
回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点,目标是使曲线到数据点的距离差异最小。
1.2 线性回归
线性回归是回归问题中的一种,线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w和b。通长我们可以表达成如下公式:
在这里插入图片描述y^为预测值,自变量x和因变量y是已知的,而我们想实现的是预测新增一个x,其对应的y是多少。因此,为了构建这个函数关系,目标是通过已知数据点,求解线性模型中w和b两个参数。
1.3 目标/损失函数
求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。
针对任何模型求解问题,都是最终都是可以得到一组预测值y^ ,对比已有的真实值 y ,数据行数为 n ,可以将损失函数定义如下:
在这里插入图片描述预测值真实值之间的平均的平方距离,统计中一般称其为MAE(mean square error)均方误差。把之前的函数式代入损失函数,并且将需要求解的参数w和b看做是函数L的自变量,可得在这里插入图片描述现在的任务是求解最小化L时w和b的值
即核心目标优化式为在这里插入图片描述求解方式有两种:
1)最小二乘法(least square method)
求解 w 和 b 是使损失函数最小化的过程,在统计中,称为线性回归模型的最小二乘“参数估计”(parameter estimation)。我们可以将 L(w,b) 分别对 w 和 b 求导,得到
在这里插入图片描述令上述两式为0,可得到 w 和 b 最优解的闭式(closed-form)解:
在这里插入图片描述
2)梯度下降
核心内容是对自变量进行不断的更新(针对w和b求偏导),使得目标函数不断逼近最小值的过程
在这里插入图片描述参考:添加链接描述

预测房价实例

from sklearn import datasets
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

import matplotlib as mpl
mpl.use("TkAgg")
import matplotlib.pyplot as plt


boston = datasets.load_boston()
X = boston.data
y = boston.target

x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=1/5., random_state=8)

lr = LinearRegression()
lr.fit(x_train, y_train)
y_pred = lr.predict(x_test)

plt.title("linear_regression ")
plt.plot(y_test, color='green', marker='o', label='test')
plt.plot(y_pred, color='red', marker='+', label='predict')
plt.legend()
plt.show()


# 用均方误差评估预测结果
mse = mean_squared_error(y_test, y_pred)
print("MSE:" + repr(mse))

数据集包含了波士顿房屋以及周边环境的一些详细信息,label字段为房屋价格,数据集已经集成到scikit-learn中,可以直接加载数据,通过房屋及其相关的特征使用线性回归预测房屋价格,最后使用均方误差对预测结果进行评估。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值