参数估计-3| 学习笔记

简介: 快速学习参数估计-3。

开发者学堂课程【机器学习算法 :参数估计-3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7223


参数估计-3

 

内容介绍

一、梯度算法流程

二、牛顿迭代法

三、逻辑回归的基本假设

四、逻辑回归案例:鸢尾花数据集

五、逻辑回归案例:BGA

六、多分类逻辑回归

 

一、梯度算法流程

1.批量梯度上升(下降)法的算法流程:

首先要设定一个学习率,给回归参数指定一个初始化的值,有了初始化的值才能根据更新公式去更新。

初始化值:回归参数、学习率等重复执行,直到满足循环次数:

计算当前参数下样本的估计值,计算估计值和真实值的差,判断是否可以退出。如果这个差可以小于设定的阈值就退出,否则的话就要计算梯度。

计算梯度

按照梯度和学习率更新回归参数返回回归系数值

2.随机梯度上升(下降)法的算法流程:

初始化值:回归参数、学习率等重复执行,直到满足循环次数:

对一个(小批次)样本

计算当前参数下样本的估计值,计算估计值和真实值的差,判断是否可以退出。

计算梯度

按照梯度和学习率更新回归参数

返回回归系数值

 

二、牛顿迭代法

牛顿迭代法(Newton's Method)通过不断求切线迭代求解函数方程根的办法。

已知待解方程 f(x)=0,求解其方程根。

随机找到定义域中的值image.png计算其对应的值f(image.png),如果If(image.png)-f(x)I<ε,得到解image.png

否则:计算过点(image.png,f(image.png))的f(x)切线斜率f´(image.png)

写出该切线的点斜式:f(x)-f(image.png)=f´(image.png)*(x-image.png)

求切线和 x 轴的交点,即解方程:-f(image.png)=f´(image.png)*(x-image.png)

记得到的解为image.png,其迭代公式为:image.png

通常image.pngimage.png更接近方程f(x)=0的解,使用迭代方式继续迭代。

image.png

首先找到image.png并求值,然后找到它的切线,和 x 轴的交点就是下一个值,就这样迭代下去一直到满足循环次数或者是算出来的函数值和原函数值的差小于预先设定的阈值。

 

三、逻辑回归的基本假设

因变量为二分类的分类变量或某事件的发生率,并且是数值型变量。

残差和因变量都要服从二项分布,二项分布对应的是分类变量,所以不是正态分布,进而不是用最小二乘法,而是最大似然法来解决方程估计和检验问题。

自变量和 Logistic 概率是线性关系。当把这个因变量的分类变量转化成 Logistic 函数,它和自变量就是线性关系了。

各观测对象间相互独立,共线性问题会影响逻辑回归的参数估计和预测。如果不相互独立,那前面的最大似然函数就不能用了。

 

四、逻辑回归案例:鸢尾花数据集

image.png

鸢尾花有三种,有山鸢尾、杂色鸢尾和维吉尼亚鸢尾。因为做的是二分类,所以只取其中的两类数据。其中把山鸢尾记作是0,杂色鸢尾记作是1。

只使用两个类的数据,其中每类40条用于训练,10条用于测试。整个训练数据集共有80条数据,测试数据集有20条数据。

 

五、逻辑回归案例:BGA

根据数据和任务说明:image.png,其中image.png

这里的 y 就是0和1,或者是0发生的概率和1发生的概率的比值。假设当前参数的初始值为1,学习率就是步长为0.01,最大循环次数为10000次,当前循环次数是1,要对它进行初始化。所有的 β 参数设成是1,一旦满足了最大循环次数就退出。

计算当前参数下的估计值(以4条数据为例):因为数据量比较大,不太容易展示。

image.png

image.png

image.png

image.png

计算梯度:image.png

=image.png+image.png+image.png

按梯度更新回归参数:image.png

image.png

当前参数取值:β=image.png

计算梯度:image.png

=image.png*image.png=image.png

按梯度更新回归参数:image.png

=image.png=image.png

image.png

image.png

这个时候的值已经接近实际结果了。

通过误差大小控制,退出循环,例如要求误差 ε≤0.05,currLoop=426

使用测试数据预测:image.png

image.png

image.png

image.png

小于0.5就认为是0,大于0.5就认为是1,实际上这个预测的结果和数据的结果是一样的。这就是手工使用逻辑回归小数据集来更新参数去算模型以及使用这个模型做预测的整个过程。

 

六、多分类逻辑回归

如果处理合适的话,这个逻辑回归也可以处理多分类的情形。比如取值为a,b,c,d,e。要对 a 来讲的话,如果记录取 a 就认为它等于1,取其它的值就认为它等于0。

当因变量的取值数超过2个时,即转化为多分类回归问题。两种常见解决办法:

构建多个二分类逻辑回归模型,即对每一个取值,都构建一个(1,0)的二分类逻辑回归模型。指定一个取值为参照类,其余类型和参照类逐个进行回归。假设有k个取值,设第k个为参照类,则需要建立以下k-1个逻辑回归模型:

image.png

整理得到:image.png

概率和归一:image.png

image.png

使用 softmax 作为损失函数。Softmax 适用于多分类,将输出映射到(0,1)区间内,含义为属于当前分类的概率。

其公式为:image.png

image.png

比如多分类,每个分类的取值概率,如果直接取 max 值的话,每次只有最大的有机会出现。Softmax 就是按照每一个分类对应的值的大小让每一个分类都有机会输出。Softmax 的应用是非常广的,特别是适用于多分类。如果想弄清楚多分类的逻辑回归的话,还可以使用数据集。

相关文章
|
23天前
|
算法
【数理统计实验(二)】参数估计
【数理统计实验(二)】参数估计
|
23天前
|
算法
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析
|
23天前
R语言多项式线性模型:最大似然估计二次曲线
R语言多项式线性模型:最大似然估计二次曲线
|
23天前
|
算法
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
|
23天前
使用R语言进行多项式回归、非线性回归模型曲线拟合
使用R语言进行多项式回归、非线性回归模型曲线拟合
|
机器学习/深度学习 算法 开发者
误差反向传播算法-1|学习笔记
快速学习误差反向传播算法-1
66 0
误差反向传播算法-1|学习笔记
|
机器学习/深度学习 算法 开发者
参数估计-1| 学习笔记
快速学习参数估计-1。
88 0
参数估计-1| 学习笔记
|
机器学习/深度学习 算法 开发者
参数估计-2| 学习笔记
快速学习参数估计-2。
149 0
参数估计-2| 学习笔记
|
人工智能 开发者
卡方检验 | 学习笔记
快速学习卡方检验
150 0
卡方检验 | 学习笔记
|
人工智能 开发者
回归直线拟合优度 | 学习笔记
快速学习回归直线拟合优度
265 0
回归直线拟合优度 | 学习笔记

热门文章

最新文章