机器学习 - 2 - 线性回归

机器学习 - 2 - 线性回归

首先吐槽我们的老师上课上得真是太烂了。。真的烂。。

PPT里也只会对没有意义的公式,而且还不解释是在干什么。。

回归

  1. 什么是回归

    首先回归属于监督学习的一种,回归问题中,尝试预测连续的输出,与尝试预测离散的输出的分类问题恰恰相反。

    举个例子:

    • 预测房价
    • 预测身高
    • ...
  2. 回归模型

    素材:

    • 特征 \(x\)
    • 预测值 \(y\)
    • 训练集 \((x_i,y_i)\)
    • 学习算法
    • 回归函数 \(f\)

    线性回归时:

    \[f(X) = \omega_0 + \sum_{i = 1}^{m}\omega_ix_i \]

    向量化(增加 \(x_0 = 1\),表示截距项):

    \[f(X) = W^TX\]

    一般化(当基函数不是多项式基函数时):

    \[y(X,W) = \sum_{i = 0}^{M-1}\omega_i\phi_j(X) = W^T\Phi(X)\]

  3. 问题本质

    拆分一下:

    • 定义目标函数

      • 使用训练集数据(真实数据)
      • 最小化预测值 \(f\) 与真实输出值 \(y\) 的差异
    • 确定模型中的参数 \(W^T\)

    目标函数(代价函数):

    \[J(W) = \frac{1}{2}\sum_{i=1}^{N}(f(X_i)-y_i)^2\]

    进一步求出使 \(J(W)\) 最小的 \(W\) 即可。

解回归

  1. 梯度下降法

    策略:

    • 随机赋 \(W\) 初值
    • 改变 \(w_i\) 的值,使 \(J(W)\) 越来越小
    • 沿梯度相反方向下降

    梯度为一个向量,表示某一函数在某一点的方向导数沿该方向时取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。

    举个例子:

    在爬山时,沿与等高线垂直的方向爬山,路最陡

    怎么操作:

    \[\omega_j^t = \omega_j^{t-1}-\alpha\frac{\partial}{\partial\omega_j}J(W)\]

    \[\frac{\partial}{\partial\omega_j}J(W) = \sum_{i=1}^{N}(f(X_i)-y_i)\cdot X_{i,j}\]

    所有 \(w_i\) 同时更新,其中 \(\alpha\) 为学习率/更新步长

    一些衍生:

    • 批处理梯度下降

      • 每次更新都利用所有数据
      • 大样本下,迭代速度很慢
    • 随机梯度下降
      • 每次只用一个样本
      • 迭代速度快,大样本下较为有效,又被称为在线学习

    一点补充:

  2. 标准方程组

    矩阵化:

    \[J(W) = \frac{1}{2}\sum_{i=1}^{N}(f(X_i)-y_i)^2 = (XW-y)^T(XW-y)\]

    求导,另其为0:

    \[\frac{\partial}{\partial W}J(W) = 2X^T(XW-y) = 0\]

    解得:

    \[W = (X^TX)^{-1}X^Ty\]

  3. 孰优孰劣
    梯度下降 标准方程
    需要选择学习率 不需要
    迭代很多次 一次
    \(O(kn^2)\) \(O(n^3)\)
    n很大时表现良好 n很大时很慢
    数据需要归一化 不需要

    结论:

    样本量较小时选用标准方程组求解,样本量较大时选用梯度下降法求解

补充连接

matrix vector derivatives for machine learning

原文地址:https://www.cnblogs.com/ChildishChange/p/9746265.html

时间: 2024-10-10 01:05:34

机器学习 - 2 - 线性回归的相关文章

机器学习——简单线性回归(原理推导+算法描述+代码实现)

实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy.pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:   向量形式: 线性模型的优点: 1.形式简单.易于建模 2.可解释性 3.是非线性模型的基础,可以在线性模型的基础上引入层级结

Andrew Ng机器学习入门——线性回归

本人从2017年起,开始涉猎机器学习.作为入门,首先学习的是斯坦福大学Andrew Ng(吴恩达)教授的Coursera课程 2 单变量线性回归 线性回归属于监督学习(Supervise Learning),就是Right answer is given. 课程中,举了一个估计房产价格的例子,在此,我就直接使用两组数据去作为例子使用线性回归,拟合出效果最好的曲线. 2.1 单变量线性回归算法的思路 根据数据的分布,确定模型其中,h(x)是假设函数(Hypothesis Fuction),θ1和θ

机器学习day13 机器学习实战线性回归

这两天学习了回归的相关知识,后面本来有个实战案例,但无奈不能上网站抓取信息不能实现,还有一个缩减的方法前向逐步回归没有看,lasso的简化版,只看了岭回归. 回归与分类的区别:回归的标签值为连续的数值,我们做的是预测未知点的标签数值,分类的标签值为类别,我们做的是预测其他样本的分类. 相关系数的计算: 有柯西不等式可以得到相关系数的绝对值|r| < 1.-1 < r < 1,r越趋近1或-1相关性越大,越能用直线表示,r > 0说明x,y同增,r < 0说明x,y同减. 直线

机器学习之线性回归---logistic回归---softmax回归

1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类.该方法处理的数据可以是多维的. 讲义最初介绍了一个基本问题,然后引出了线性回归的解决方法,然后针对误差问题做了概率解释.之后介绍了logistic回归.最后上升到理论层次,提出了一般回归. 2 问题引入 这个例子来自http://www.cnblogs.com/LeftNot

从零单排入门机器学习:线性回归(linear regression)实践篇

线性回归(linear regression)实践篇 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错,算是入门了. 这次打算以该课程的作业为主线,对机器学习基本知识做一下总结.小弟才学疏浅,如有错误.敬请指导. 问题原描写叙述: you will implement linear regression with one variable to predict prots for a food truck. Suppose you are the CEO of a

机器学习算法 --- 线性回归

一.线性回归算法的简介 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛.其表达形式为y = w'x+e,e为误差服从均值为0的正态分布. 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析.如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析. 本文主要介绍线性回归算法的演绎推导,关于线性回归的详细介绍请参阅线性回归在百度百科中的介

JavaScript机器学习之线性回归

译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 使用JavaScript做机器学习?不是应该用Python吗?是不是我疯了才用JavaScript做如此繁重的计算?难道我不用Python和R是为了装逼?scikit-learn(Python机器学习库)不能使用Py

通过机器学习的线性回归算法预测股票走势(用Python实现)

在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn库实现线性回归预测的技巧. 本文先讲以波士顿房价数据为例,讲述线性回归预测模型的搭建方式,随后将再这个基础上,讲述以线性预测模型预测股票的实现代码.本博文是从本人的新书里摘取的,新书预计今年年底前出版,敬请大家关注. 正文开始(长文预警) ------------------------------

机器学习——多变量线性回归

[一.多变量线性回归模型] 多变量线性回归是指输入为多维特征的情况,例如: 在上图中可看出房子的价格price由四个变量(size.number of bedrooms.number of floors .age of home)决定,为了能够预测给定条件(四个变量)下的房子的价格(y),我们需要建立相应的线性回归模型. 假设有n个变量,则相应的多变量线性回归模型如下: 注意上图中的x是指一个训练样本,即每个训练样本都是一个(n+1)维向量(包含附加的x0=1) [二.代价函数] 多变量线性回归