Linear Regression(一)——

机器学习
回归

定义

回归的定义

在平面上存在这些点我希望能用一条直线尽可能经过它们。

于是我们画了下面的一条直线



这样的过程就叫做回归。

这个过程中我们的目的其实就是寻找输入变量(自变量)和输出变量的关系(因变量)

线性回归的定义

线性回归:上图中我们进行的回归就是线性回归

线性回归实际上是假设输入变量x和输出变量y存在着这样的关系

在刚刚的情况下,横坐标为,那么公式上图可以表示为,w实际上是这样的一个矩阵,而x实际上是的这样一个矩阵,二者相乘即

线性回归模型

损失函数

我们已经知道了线性回归的定义,那么如何寻找这样的一条直线呢?什么样的直线是最好的?



这张图我们可以明显的看出蓝色的直线是最优的,我们判断的依据是什么?就是直线到各个点的距离

因此我们引出了损失函数

损失函数

各样本的输出,各变量权重,输入变量

我们的目的即最小化损失函数,使得到的直线到各点的距离最小

损失函数最小化

最简便求得损失函数最小值的方法当然是求导,因此我们以一元线性模型进行说明

存在如下样本训练集T={(3,3),(4,3),(1,1)},求出它的回归直线

我们可以得到以下公式

我们的目标是的最小化

分别求a,b的偏导得





另两个偏导等于0可以求得a,b

*a=0.71428571,b=0.42857143

使用matplotlib画出图像

使用最小二乘法求得最优解

上文对于一元线性回归方程使用基础的数学方法可得出结果,当求解多元线性回归方程,为了计算的简便,我们通常会将数据转化为矩阵,通过最小二乘法求出数据的结果。

我们已经知道损失函数的矩阵形式表示为



那么我们使用矩阵的求导方法即可得出最优的W

Wiki已经给出了推导,对于没有梯子的可以参照该博文最小二乘法的矩阵形式推导

通过最小二乘法我们得出最优的w为

# X,Y以上文举例分别为[3,2],[3,1]的矩阵
import numpy as np
X = [[3,1],[4,1],[1,1]]
Y= [[3],[3],[1]
X = np.mat(X)
Y = np.mat(Y)
w = (X.T*X).I*X.T*Y

下载.png

最新文章

  1. Bzoj4300 绝世好题
  2. [BZOJ 2957]楼房重建(THU2013集训)(分块思想)
  3. runc create container 流程分析
  4. 数据关联分析 association analysis (Aprior算法,python代码)
  5. Spring MVC 解读——@RequestMapping (2)(转)
  6. 如何仿写thinkphp的S方法?
  7. Matcher Pattern 正则表达式 示例
  8. SurfaceView类透明背景设置
  9. Unix/Linux环境C编程入门教程(37) shell常用命令演练
  10. Best time to buy and sell stocks IV
  11. webstorm提交版本时,忽略特定文件
  12. 爬虫框架Scrapy 之(二) --- scrapy文件
  13. Git简介及安装
  14. Go斐波拉契数列(Fibonacci)(多种写法)
  15. 数据交互axios的用法
  16. maven 安装 配置
  17. spring cloud: Hystrix(一):简单使用
  18. 新项目的vue组件
  19. random模块常用功能
  20. 【转】oracle定制定时执行任务

热门文章

  1. MyEclipse更换工作空间报错自动退出
  2. go语言从例子开始之Example17.指针
  3. 最大公因数数gcd模板
  4. maven3常用命令、java项目搭建、web项目搭建详细图解(转)
  5. 力扣 ——Linked List Cycle II(环形链表 II) python实现
  6. 转载:有好多是Elastic官方博客上的内容,具体看文档
  7. 洛谷 P1271 聚会的快乐(树状dp)
  8. ZROI week2
  9. LInux终端中Ctrl+S卡死
  10. spss-数据清洗-处理重复数据