热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习—回归与梯度下降(数学基础)

本文整理机器学习算法中的线性回归和逻辑回归算法的笔记,其中利用随即梯度下降更新参数。只整理其中的数学原理,不涉及代码实现。目录线性回归随即梯度下降逻辑回归线性回归输入数据:x(X)
  • 本文整理机器学习算法中的线性回归和逻辑回归算法的笔记,其中利用随即梯度下降更新参数。只整理其中的数学原理,不涉及代码实现。

目录

  • 线性回归
  • 随即梯度下降
  • 逻辑回归

线性回归

  1. 输入数据:x(X);输出数据:y(Y);
  2. 拟合的函数:可写做 y = h(x);
  3. 对于每一条数据,用x1,x2,x3…xn来表示其各个特征分量,则可以做出一个估计函数:机器学习—回归与梯度下降(数学基础),其中可设x0=1,则有θ0 * x0 = θ0 ,θ0可以充当线性方程中的常数项;
  4. 将上式用向量的方式来表示:机器学习—回归与梯度下降(数学基础)
  5. 接下来需要有一个机制去评估函数y = h(x)的好坏,同时也是评估参数θ。因此做出一个J(θ)函数,称为损失函数或者错误函数,用它来描述h函数的误差程度:机器学习—回归与梯度下降(数学基础),这个错误估计函数是以对x(i)的估计值(即h(x))与真实值y(i)的差的平方之和作为错误估计,前面乘上的1/2是为了在求导(确定梯度时需要求导)的时候,这个系数就不见了。

随即梯度下降

使用随即梯度下降算法调整θ以使得J(θ)取得最小值。

  1. 首先对θ赋值,这个值无特定要求,一般让θ是一个全为1或0的向量。然后在计算过程中改变θ的值,使得J(θ)按梯度下降的方向进行减少。θ0,θ1,θ2…θn表示θ向量的各个维度(不同点处J(θ)下降的梯度方向不同);
  2. 梯度下降法的第一步是给定的θ的初值,然后将θ按照梯度下降的方向进行调整,就会使得J(θ)往更低的方向进行变化,每一步的进行都基于上一步的基础,因此可能梯度下降的最终点并非是全局最小点,而是一个局部最小点;
  3. 通过求导获得梯度:损失函数J(θ)关于θ的偏导数决定了下降的方向,对函数J(θ)中的θ求偏导:
    机器学习—回归与梯度下降(数学基础)
    机器学习—回归与梯度下降(数学基础)
  4. 依据所得的梯度公式来写出参数θ i的更新公式:
    机器学习—回归与梯度下降(数学基础)
    θi表示更新之前的值,“-”后面的部分表示按梯度方向减少的量,α表示步长(学习度),而(hθ(x) - y)其实就是每一次计算得到的errors。

逻辑回归

  1. 与线性回归的区别:引进Sigmoid函数:机器学习—回归与梯度下降(数学基础)
    其图像为:机器学习—回归与梯度下降(数学基础)
    将z代入后可以得到趋近于0或1的值。
  2. 函数 机器学习—回归与梯度下降(数学基础)
    也就是Z=θ^T * X(等价于上面线性回归中的h(x))需要经过Sigmoid转化才能得到预测值。
  3. 转化后此时的预测值h(x)为:机器学习—回归与梯度下降(数学基础)
  4. 此步骤之后便是相同的随即梯度下降计算方式。

推荐阅读
author-avatar
许婉玟秀贤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有