计算机系统应用教程网站

网站首页 > 技术文章 正文

数据挖掘干货总结(七)-- LR回归算法

btikc 2025-02-11 11:03:37 技术文章 15 ℃ 0 评论

本文共计1234字,预计阅读时长八分钟



回归算法

回归的本质

发现yx的规律以预测新情况下的y

回归算法的分类

1. 线性回归(Linear Regression)

1)一元线性回归

? 输入

一元自变量x,一元因变量y

? 回归模型

模型输出y= wx + b

模型参数w, b

? 损失函数

对每个样本预测值y' = wx + b, 误差:ε = y - y'

损失函数即最小化误差平方和:minΣε=minΣ(wx+b-y)

令导数等于0,求出上式的w, b 即可

2)多元线性回归

? 输入

自变量是一个向量x因变量数值y

? 回归模型

模型输出

模型参数w(向量)

? 损失函数

对每个样本预测值y' = wx , 误差:ε = y - y'

损失函数即最小化误差平方和

令导数等于0,则


2. 非线性回归(none-Linear Regression)

如果回归模型的因变量是自变量的非一次函数形式回归规律在图形上表现为形态各异的各种曲线称为非线性回归下面主要介绍机器学习中常见的一种非线性回归——逻辑回归(Logistic Regression)

? 输入

自变量x,因变量y

:y不再是连续值而是离散值{0,1}

目标根据特征x,预测发生概率p(y=1|x)p(y=0|x),哪个概率大,y就取哪个值

? 回归模型

模型输出此时不能再设y= wx,因为y只能为01,所以我们需要换个思路

因为左右两边的值域都是 [0,+∞),左边的可以这么理解,

那么,

得到形似sigmoid的函数:


故,将模型设为:

模型的参数:w(向量

? 损失函数本篇的精华

因为模型的结果是两个概率无法计算y的误差关于概率的问题我们需要换个思路——最大似然估计当从模型总体随机抽取n组样本观测后最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大

看不懂对吧我的理解就是通过后验概率求先验概率的原理

一个袋子中有20个球只有黑白两色有放回的抽取十次取出8个黑球和2个白球计算袋子里有白球黑球各几个那么我会认为我所抽出的这个样本是被抽取的事件中概率最大的。p(黑球=8)=p* (1-p), 让这个值最大求导便得到p=0.8,即我们认为袋子中黑球占了80%。


最大似然对数似然

因为在算法上幂和连乘不好处理聚合函数里没有连乘只有连加sum),我们可以加个对数巧妙地避开了这个麻烦


对数似然负对数似然

在机器学习需要迭代的算法中都会有个损失函数当损失函数小于某个值时停止迭代刚才的对数似然是在求最大值此时加个负号就变成最小值这样又巧妙地满足了这个套路

这里负对数似然原则上不再叫损失函数而是有另外一个专有名词——代理函数


梯度下降法求解

为了计算得到这个负对数似然函数L(w)的最小值需要借助梯度下降法


我们可以模拟这样的一个过程你来到一个盆地刚好晚上起雾了能见度很差如果规定不能坐缆车只能步行下山想要尽快到达盆地底部正常人都会遵循的三个原则

1.每次选择坡度最陡的方向前进即梯度的反方向);

2.越接近底部步频会越小否则很有可能错过最低点

3.连续走了几步发现在海拔上并没有太大的变化基本就可以判断到达了盆地底部

所以梯度下降法的核心类似

1.设置初始w,计算L(w)

2.计算梯度d = ▽L(w)

得到下降方向选择:dir = -d

3.调用line search得到下降后的w'L(w')

i) 设定初始步长c>0,容许度0折半因子0

ii) w' = w+c*dir, 计算得到L(w')

4.迭代与停止条件

i) w = w', L(w) = L(w'), c = a*c, 继续第2步;

ii) 如果L(w') - L(w) < b*c,停止为了避免死循环设置一个迭代次数k,达到k次也可以停止)。



(个人总结,欢迎指正)


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表