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

Linear Regression(一)——的更多相关文章

  1. 线性回归、梯度下降(Linear Regression、Gradient Descent)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...

  2. 局部加权回归、欠拟合、过拟合(Locally Weighted Linear Regression、Underfitting、Overfitting)

    欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多 ...

  3. Multivariance Linear Regression练习

    %% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...

  4. Kernel Methods (3) Kernel Linear Regression

    Linear Regression 线性回归应该算得上是最简单的一种机器学习算法了吧. 它的问题定义为: 给定训练数据集\(D\), 由\(m\)个二元组\(x_i, y_i\)组成, 其中: \(x ...

  5. Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)

    ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...

  6. Linear regression with one variable算法实例讲解(绘制图像,cost_Function ,Gradient Desent, 拟合曲线, 轮廓图绘制)_矩阵操作

    %测试数据 'ex1data1.txt', 第一列为 population of City in 10,000s, 第二列为 Profit in $10,000s 1 6.1101,17.592 5. ...

  7. Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression

    原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...

  8. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  9. Stanford机器学习---第一讲. Linear Regression with one variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7691571 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  10. Coursera台大机器学习课程笔记8 -- Linear Regression

    之前一直在讲机器为什么能够学习,从这节课开始讲一些基本的机器学习算法,也就是机器如何学习. 这节课讲的是线性回归,从使Ein最小化出发来,介绍了 Hat Matrix,要理解其中的几何意义.最后对比了 ...

随机推荐

  1. html中代替空格、大于号、小于号等字符编码

    数字表示法的不方便之处,在于必须知道每个字符的码点,很难记忆.为了能够快速输入,HTML 为一些特殊字符,规定了容易记忆的名字,允许通过名字来表示它们,这称为实体表示法(entity). 实体的写法是 ...

  2. for循环(foreach型)语法

  3. 转载 Struts2的配置 struts.xml Action详解

    在学习struts的时候,我们一定要掌握struts2的工作原理.只有当我们明确了在struts2框架的内部架构的实现过程,在配置整个struts 的框架时,可以很好的进行逻辑上的配置.接下来我就先简 ...

  4. python的logging,将log保存到文件

    import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(line ...

  5. OpenCV常用基本处理函数(8)图像变换

    傅里叶变换 傅里叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅里叶变换就表示f的频谱. 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度.如:大面积的沙 ...

  6. Fiji-imageJ 无法打开

    可能的原因是文件的路径包含中文名称.

  7. postgresql中rank() over, dense_rank(), row_number() 的用法和区别

  8. docker 运行springboot jar包

    1.将jar包移至自定义的/usr/jar目录下; 2.在/usr/jar目录下创建Dockerfile文件 文件如下: #FROM命令定义构建镜像的基础镜像,该条必须是dockerfile的首个命令 ...

  9. shell读取文件第一行和最后一行,小数的运算比较

    1. 读取文件的第一行:head -n +1 file.txt 读取文件的最后一行: tail -n -1 file.txt echo 12:30:55 | cut -d: -f 1 结果为12,意思 ...

  10. setTimeout()和setInterval()的用法及区别

    setInterval 方法表示每间隔一段时间执行一次函数,会一直执行下去,除非手动 clearInterval 来停止. var i = 10; var timer = setInterval(() ...