<Regression> Andrew Ng Machine Learning course

学习内容:监督学习-回归算法

为C1:week1到week3的全部内容

由于在前置课程已经接触过相关知识,这一部分内容也相对好理解,因此快速过完。笔记则尽量简略,只记基本要点。为了保证更新,因此先写一部分,剩下的将会很快补充。

前置知识

数学

  • 梯度:用于描述一个多变量函数在某一点的变化率。

梯度是一个向量,其方向是函数增长最快的方向,其大小表示函数在该方向上的变化速率;简而言之梯度指示了函数值上升(同时也是下降)最快的路径。对于一个有多个自变量的函数f(x_1,x_2,...,x_n),梯度是一个包含所有偏导数的向量:

\bigtriangledown f(x_1,x_2,...,x_n)=(\frac{\partial f}{\partial x_1},\frac{\partial f}{\partial x_2},...,\frac{\partial f}{\partial x_n})

统计学

  • 残差平方和
  • 离差平方和

术语

  • 训练集:用于训练模型的有标准答案的数据集
  • 测试集:用于评估训练好模型性能的有标准答案的数据集

一般会把数据集进行划分,如80%用于训练,20%用于测试模型效果。

  • x:输入变量/特征/输入特征
  • y:输出变量/目标/输出目标

  • \widehat{y}:y的估计值/预测值

简单来说,训练集内的每一组数据包括x与y的值。用n组数据进行训练可以得到模型函数f。

输入x——>训练好的f——>输出\widehat{y},即可完成预测。

  • 损失函数(Cost Function)J:用于描述误差大小的一个函数。

参数w,b会影响模型与训练集数据的总体误差大小,我们希望这个误差达到最小,这时的参数是最优的。当然要注意过拟合情况。

  • 学习率(步长):梯度下降法中梯度的乘数。

线性回归(Linear Regression)

定义

用直线拟合模型函数

f(x)=wx+b

损失函数

对线性回归通常可以使用残差平方和来描述。

J(w,b)=\frac{1}{2m}\sum_{i=1}^n(\widehat{y}^{(i)}-y^{(i)})^{2}

除以m是为了让损失函数不随样本量增大而增大。除以2是为了简化计算,也可不除。

想办法让成本函数达到最小值的方法涉及到最优化方法的知识。例如在参数为w和b的情况下,J的函数图像如下图,是一个碗状的3D函数。

选择一些点水平切片,就能将3维函数降维到平面:

此时损失函数水平最低点所对应的w和b就是最佳参数。

梯度下降法:寻找损失函数最小值

基本步骤:

  1. 初始化参数:对线性回归常用w=b=0

  2. 计算\nabla f(w,b)寻找下降方向

  3. 更新参数\theta_{new} = \theta_{old} - \alpha \nabla f(\theta_{old})

  4. 迭代:重复步骤 2 和 3,直到满足停止准则(如梯度的绝对值小于某个阈值,或者函数值变化非常小)。

  5. 停止:当达到停止准则时,停止迭代,并返回当前的参数值作为优化结果。

有趣特性

初始点的选择不同可能会导致最终结果去向不同的局部最小值,即初始点影响路径与结果。

实操注意

在写代码时要让参数同步更新

//未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值