机器学习复习:线性回归1
Simple Linear Regression (简单的线性回归)
相关变量
example:
在过去的一个月里,猪肉的价格从8元一斤一路涨到了20元一斤。市面上的肉夹馍也逐渐从10元一个涨到了15元一个。在第二个月的第一天,我们发现猪肉的价格涨到了22元。那么肉夹馍的价格会涨到多少呢
variable(变量):
1、preddict target(预测对象) :y (what we want to predict)
2、feature(特征): x 已知的参数
所以训练数据集为:
{(xi,yi)}i=1n\{(x_i,y_i)\}^n_{i=1}{(xi,yi)}i=1n
假设我们对过去的30天进行了统计则 n=30,则 xi ,yi 分别为第 i 天的猪肉价格和肉夹馍价格。
parameters(参数):
3、slope(斜率): β1
4、intercept(截距): β0
在上面的例子中,我们的预测对象y,就是肉夹馍的价格。而我们的已知特征x就是猪肉的价格。
那么关于y和x之间的关系,我们可以选择最简单的线性方程
y=ax+by=ax+by=ax+b
其中我们使β0=b,β1=aβ{_0}=b, β{_1}=aβ0=b,β1=a
便得到了关于肉夹馍价格x和猪肉价格y的线性预测模型:
yˆ=β0+β1x\^y=β{_0}+β{_1}xyˆ=β0+β1x
在这个模型中,β0和β1这两个参数选的越好,模型的预测结果就越准确。
Least-Squares Fit:
在这里,我们使用least-squares(LS) fit去得到这两个参数。
首先计算 Residual sum of squares(RSS):
RSS(β0,β1)=∑i=1n(yi−yˆi)2RSS(β{_0},β{_1})=\sum_{\ i=1}^n{(y_i- \^y_i)^2}RSS(β0,β1)= i=1∑n(yi−yˆi)2
为了进行下一步的计算,先声明一些需要计算的参数:
名称 | 公式 |
---|---|
样本均值(Sample mean) | xˉ=1n∑i=1nxiyˉ=1n∑i=1nyi\bar x=\frac1n\sum_{\ i=1}^n{x_i}\\ \bar y=\frac1n\sum_{\ i=1}^n{y_i}xˉ=n1 i=1∑nxiyˉ=n1 i=1∑nyi |
样本方差(Sample variance) | Sx2=1n∑i=1n(xi−xˉ)2Sy2=1n∑i=1n(yi−yˉ)2S^2_x =\frac1n\sum_{\ i=1}^n{(x_i- \bar x)^2}\\S^2_y =\frac1n\sum_{\ i=1}^n{(y_i- \bar y)^2}Sx2=n1 i=1∑n(xi−xˉ)2Sy2=n1 i=1∑n(yi−yˉ)2 |
样本标准差(Standard deviation) | Sx=1n∑i=1n(xi−xˉ)2Sy=1n∑i=1n(yi−yˉ)2S_x = \sqrt {\frac1n\sum_{\ i=1}^n{(x_i- \bar x)^2}}\\S_y = \sqrt {\frac1n\sum_{\ i=1}^n{(y_i- \bar y)^2}}Sx=n1 i=1∑n(xi−xˉ)2Sy=n1 i=1∑n(yi−yˉ)2 |
样本协方差(Sample covariance) | Sxy=1n∑i=1n(xi−xˉ)(yi−yˉ)S_{xy} = \frac1n\sum_{\ i=1}^n{(x_i- \bar x)(y_i- \bar y)}Sxy=n1 i=1∑n(xi−xˉ)(yi−yˉ) |
样本相关系数(Sample correlation coefficient) | ρxy=SxySxSy=1n∑i=1n(xi−xˉ)(yi−yˉ)1n∑i=1n(xi−xˉ)⋅1n∑i=1n(yi−yˉ)\rho_{xy}=\frac{S_{xy}}{S_xS_y} = \frac{\frac1n\sum_{\ i=1}^n{(x_i- \bar x)(y_i- \bar y)}}{\frac1n\sum_{\ i=1}^n{(x_i- \bar x)}·\frac1n\sum_{\ i=1}^n{(y_i- \bar y)}}ρxy=SxSySxy=n1∑ i=1n(xi−xˉ)⋅n1∑ i=1n(yi−yˉ)n1∑ i=1n(xi−xˉ)(yi−yˉ) |
现在我们开始计算β0和β1,因为RSS计算的是真实值和预测值之间的差的平方,所以理论上,RSS越小则模型越准。而RSS是一个关于β0和β1的二元二次方程,并且二次参数的系数为正数,所以理论上,偏导为0的点就是最小值点,那么开始暴力求导吧!
0=∂RSS(β0,β1)∂β0=ddβ0∑i=1n(yi−β0−β1xi)2=−2∑i=1n(yi−β0−β1xi)(1)0=\frac{\partial RSS(β{_0},β{_1})}{\partial β{_0}} =\frac{d}{d β{_0}}\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)^2}\\=-2\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)} \tag{1}0=∂β0∂RSS(β0,β1)=dβ0d i=1∑n(yi−β0−β1xi)2=−2 i=1∑n(yi−β0−β1xi)(1)
0=∂RSS(β0,β1)∂β1=ddβ1∑i=1n(yi−β0−β1xi)2=−2∑i=1n(yi−β0−β1xi)xi(2)0=\frac{\partial RSS(β{_0},β{_1})}{\partial β{_1}} =\frac{d}{d β{_1}}\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)^2}\\=-2\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)x_i}\tag {2}0=∂β1∂RSS(β0,β1)=dβ1d i=1∑n(yi−β0−β1xi)2=−2 i=1∑n(yi−β0−β1xi)xi(2)
结合上表公式可从(1)⟹0=yˉ−β0−β1xˉ⟹β0=yˉ−β1xˉ(3)\Longrightarrow0=\bar y-β{_0}-β{_1}\bar x\\ \Longrightarrowβ{_0}=\bar y-β{_1}\bar x \tag{3}⟹0=yˉ−β0−β1xˉ⟹β0=yˉ−β1xˉ(3)
推导(2)可得0=1n∑i=1nxiyi−xˉβ0−yi−β11n∑i=1nxi2(4)0=\frac1n\sum_{\ i=1}^n{x_iy_i- \bar xβ{_0}-y_i-β{_1} \frac1n\sum_{\ i=1}^nx^2_i}\tag{4} 0=n1 i=1∑nxiyi−xˉβ0−yi−β1n1 i=1∑nxi2(4)
将(3)代入(4)中
0=1n∑i=1nxiyi−xˉyˉ−β1(1n∑i=1nxi2−xˉ2)⟹β1=SxySx2(5)0=\frac1n\sum_{\ i=1}^nx_iy_i- \bar x \bar y-β{_1}( \frac1n\sum_{\ i=1}^nx^2_i-\bar x^2)\\ \Longrightarrow β{_1} =\frac{S_{xy}}{S_x^2}\tag{5}0=n1 i=1∑nxiyi−xˉyˉ−β1(n1 i=1∑nxi2−xˉ2)⟹β1=Sx2Sxy(5)
通过(3),(5)我们就可以得到β0,β1的最佳值。
其中
Sxy=1n∑i=1nxiyi−xˉyˉSx2=1n∑i=1nxi2−xˉ2S_{xy}= \frac1n\sum_{\ i=1}^n{x_iy_i- \bar x \bar y}\\ S_x^2=\frac1n\sum_{\ i=1}^nx^2_i-\bar x^2Sxy=n1 i=1∑nxiyi−xˉyˉSx2=n1 i=1∑nxi2−xˉ2
模型评估(Model evaluation)
将得到的β0,β1代入RSS方程可得
RSS(β0,β1)=n(1−ρxy2)Sy2RSS(β{_0},β{_1})=n(1-\rho_{xy}^2)S_y^2 RSS(β0,β1)=n(1−ρxy2)Sy2
通常我们计算R2来评估模型的好坏
R2=1−RSS/nSy2=ρxy2R^2=1-\frac{RSS/n}{S_y^2} =\rho_{xy}^2R2=1−Sy2RSS/n=ρxy2
如果
R2=1,则这个模型很好,
R2=0,则表示这个模型的准确率和随机模型差不多
R2<0,则该模型还不如扔色子来的准
至此一个简单的线性回归模型,从训练的评估的全过程就结束啦!
机器学习复习:线性回归1相关推荐
- 哈工大机器学习复习笔记(一)
本篇文章是在参考西瓜书.PPT课件.网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助.这篇笔记只是复习的一个参考,大家一定要结合书本.PPT来进行复习,有些公式 ...
- matlab 多元多项式回归_Python机器学习之?线性回归入门(二)
线性回归原理介绍 文章目录 机器学习分类 线性回归原理 线性回归定义 线性回归背后矩阵运算 机器学习分类 机器学习的主要任务便是聚焦于两个问题:分类和回归 分类相信大家都不会陌生,生活中会见到很多的应 ...
- ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
ML之回归预测:利用十类机器学习算法(线性回归.kNN.SVM.决策树.随机森林.极端随机树.SGD.提升树.LightGBM.XGBoost)对波士顿数据集[13+1,506]回归预测(模型评估.推 ...
- TF之LiR:基于tensorflow实现机器学习之线性回归算法
TF之LiR:基于tensorflow实现机器学习之线性回归算法 目录 输出结果 代码设计 输出结果 代码设计 # -*- coding: utf-8 -*-#TF之LiR:基于tensorflow实 ...
- python 预测算法_通过机器学习的线性回归算法预测股票走势(用Python实现)
本文转自博客园,作者为hsm_computer 原文链接:https://www.cnblogs.com/JavaArchitect/p/11717998.html在笔者的新书里,将通过股票案例讲述P ...
- Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softmax回归
Scikit-Learn 机器学习笔记 – 线性回归.逻辑回归.softmax回归 参考文档: handson-ml import numpy as np from matplotlib import ...
- 机器学习多元线性回归_过度简化的机器学习(1):多元回归
机器学习多元线性回归 The term machine learning may sound provocative. Machines do not learn like humans do. Ho ...
- opencv机器学习线性回归_Python机器学习之?线性回归入门(二)
线性回归原理介绍 文章目录 机器学习分类 线性回归原理 线性回归定义 线性回归背后矩阵运算 机器学习分类 机器学习的主要任务便是聚焦于两个问题:分类和回归 分类相信大家都不会陌生,生活中会见到很多的应 ...
- 机器学习之线性回归_通过线性回归开始机器学习之旅
机器学习之线性回归 线性回归 (Linear Regression) Linear regression is a part of Statistics that defines the relati ...
- 机器学习(三)线性回归、广义线性回归、非线性回归
机器学习(三)线性回归模型.广义线性回归模型.非线性回归模型 线性回归(数据集要满足正态分布) 一元线性回归模型: 在这里会想到,如何确定方程中的系数呢?我们先来了解最小二乘法,简单来说就是这个点作y ...
最新文章
- CAS操作与无锁队列
- CentOS5.8下varnish-2.1.5的安装配置
- Java Machine Learning Tools Libraries--转载
- (Java)注解和反射
- 韩拓-七牛产品演进之路
- SAP 电商云 Spartacus UI 的单元测试和端到端测试,以及 CI/CD 相关话题
- SAP UI5 Opportunity popup
- 【渝粤题库】陕西师范大学200711 面向对象方法与C++ 作业
- Java学习之面板与布局管理器
- 11-Container With Most Water
- Caffe傻瓜系列(5):Blob,Layer and Net以及对应配置文件的编写
- MongoDB实战系列之三:MongoDB的主从部署
- Java-重复性代码统计第一篇
- 常见路由器初始密码合集
- Linux 下sha1加密
- 使命召唤手游显示服务器停服,使命召唤手游停服了吗 是手游还是端游
- 回收测试JInternalFrame
- Protected Process Light(PPL)微软系统进程保护机制
- python的手机官方下载地址,手机python下载安装教程
- 年轻人猝死频发,AI应用到心血管疾患筛查还有多远?