线性回归, 最简单的机器学习算法, 当你看完这篇文章, 你就会发现, 线性回归是多么的简单.

首先, 什么是线性回归. 简单的说, 就是在坐标系中有很多点, 线性回归的目的就是找到一条线使得这些点都在这条直线上或者直线的周围, 这就是线性回归(Linear Regression).

是不是有画面感了? 那么我们上图片:

那么接下来, 就让我们来看看具体的线性回归吧

首先, 我们以二维数据为例:

我们有一组数据\(x\)和\(y\), 其中\(x\)是我们的特征, \(y\)就是我们的真实值(也就是每一个x对应的值), 我们需要找到一个\(w\)和\(b\)从而得到一条直线\(y=wx+b\), 而这条直线的\(w\)和\(b\)就是我们线性回归所需要求的参数

那么, \(w\)和\(b\)需要怎样求得呢? 那么我们需要先来了解一下他的机制

如我们之前所说, 我们需要这条直线使得所有的点尽可能的在直线上或者直线的两边, 也就是说, 我们这些\(x\)在我们直线上对应的值与我们真实的值的差尽可能的小, 即\(|y-(wx+b)|\)尽可能的小, 因此就有了我们的损失函数:

\[L=\frac1n\sum^n_{i=1}(y-(wx+b))^2
\]

那么我们的目标就变成了使得\(L\)尽可能的小

首先我们对损失函数求导:

\[\frac{\partial L}{\partial\omega}=2\left(\omega\sum^n_{i=1}x_i^2-\sum^n_{i=1}(y_i-b)x_i\right)=0
\]

\[\frac{\partial L}{\partial b}=2\left(nb-\sum^n_{i=1}(y_i-\omega x_i)\right)=0
\]

求解以后可得:

\[\omega=\frac{\sum^n_{i=1}y_i(x_i-\overline x)}{\sum^n_{i=1}x^2_i-\frac1m\left(\sum^m_{i=1}x_i\right)^2}
\]

\[b = \frac1m\sum^n_{i=1}(y_i-\omega x_i)
\]

其中\(\overline x=\frac1n\sum^n_{i=1}x_i\)即\(\overline x\)是\(x\)的均值

而这就是我们的最小二乘法, 求解得到的\(w\)和\(b\)就是我们拟合出来的直线的参数.

那么就下来, 我们来看一看当\(X\)为多维的情况, 也就是多元线性回归

与上面的一样, 我们需要拟合一个直线\(w^TX+b\)使得大多数的点在直线上或者在直线周围, 不同的是, 现在我们的\(w\)是多维的, 而我们的损失函数也就变成了

\[L=\frac1n\sum^n_{i=1}(y-(w^TX+b))^2
\]

根据上面的经验, 我们需要对损失函数求偏导, 在这里就不赘述了, 大家可以参考https://xiaoxiablogs.top/index.php/机器学习/least-square-method.html

以上, 就是我们的线性回归以及使用最小二乘法求线性回归了

本人博客https://xiaoxiablogs.top

通俗理解线性回归(Linear Regression)的更多相关文章

  1. TensorFlow 学习笔记(1)----线性回归(linear regression)的TensorFlow实现

    此系列将会每日持续更新,欢迎关注 线性回归(linear regression)的TensorFlow实现 #这里是基于python 3.7版本的TensorFlow TensorFlow是一个机器学 ...

  2. Ng第二课:单变量线性回归(Linear Regression with One Variable)

    二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 2.4  梯度下降 2.5  梯度下 ...

  3. 斯坦福第二课:单变量线性回归(Linear Regression with One Variable)

    二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 I 2.4  代价函数的直观理解 I ...

  4. 机器学习方法:回归(一):线性回归Linear regression

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 开一个机器学习方法科普系列:做基础回顾之用,学而时习之:也拿出来与大家分享.数学水平有限,只求易懂,学习与工 ...

  5. 机器学习 (一) 单变量线性回归 Linear Regression with One Variable

    文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang的个人笔 ...

  6. 机器学习 (二) 多变量线性回归 Linear Regression with Multiple Variables

    文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...

  7. ML 线性回归Linear Regression

    线性回归 Linear Regression MOOC机器学习课程学习笔记 1 单变量线性回归Linear Regression with One Variable 1.1 模型表达Model Rep ...

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

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

  9. 机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables)

    机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables) 同样是预测房价问题  如果有多个特征值 那么这种情况下  假设h表示 ...

随机推荐

  1. 栈及其简单应用(二)(python代码)

    一.括号判定 前一篇文章我们介绍了栈的简单应用中,关于括号的判定,但那只是一种括号的判定,下面我们来介绍多种括号混合使用时,如何判断括号左右一一对应. 比如“{}{(}(][”这种情况,需要对一种括号 ...

  2. 滴滴推理引擎IFX:千万规模设备下AI部署实践

    桔妹导读:「滴滴技术」将于本月开始,联合各技术团队为大家带来精彩分享.你想了解的技术干货,深度专访,团队及招聘将于每周三与你准时见面.本月为「滴滴云平台事业群分享月」,在今天的内容中,云平台事业群-机 ...

  3. Vulnhub篇Photographerr

    0x00 靶机信息 靶机:Photographerr:1 难度:中 下载:https://www.vulnhub.com/entry/photographer-1,519/ 0x01 信息收集 靶场网 ...

  4. hdfs常用api(java)

    1.下载文件到本地 public class HdfsUrlTest { static{ //注册url 让java程序识别hdfs的url URL.setURLStreamHandlerFactor ...

  5. Mybatis 循环删除/插入

    <foreach collection="array" open="(" separator="," close=")&qu ...

  6. IDEA - 错误提示 Could not autowire. No beans of '' type found

    工具: IntelliJ IDEA 2019.3.4 x64 Ultimate,maven项目: 现象:如下图所示,出现Could not autowire. No beans of '' type ...

  7. C++炮台实验

    炮台实验 蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,... ,n的炮台各一个,他需要把这 n个炮台从左往右排成一行,并且炮口都朝向右边. 在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比 ...

  8. Jmeter 常用函数(25)- 详解 __V

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 执行变量名表达式,并返回执行结果 它可 ...

  9. akka-grpc - 基于akka-http和akka-streams的scala gRPC开发工具

    关于grpc,在前面的scalaPB讨论里已经做了详细的介绍:google gRPC是一种全新的RPC框架,在开源前一直是google内部使用的集成工具.gRPC支持通过http/2实现protobu ...

  10. 6. 二十不惑,ObjectMapper使用也不再迷惑

    一滴水,用显微镜看,也是一个大世界.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...