遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

关于逻辑回归与线性回归

参考:https://blog.csdn.net/weixin_39445556/article/details/83930186

https://blog.csdn.net/weixin_39445556/article/details/81416133

对应线性回归的概率解释(当然线性回归还有代数解释--参考线性代数第5章)

假设每行样本的目标值y ,由W' X 决定,那么w,x 定下来后,y就是会在 均值在 w x =u 附近变化,而且是呈正太分布的,

那么这些样本 的联合概率P(y1,y2....)的规律最大化时对应的W就是外面要找的,回归系数。--参考上面的链接

 

对应logistic回归,回归函数改成下面的g(z)--这个参考托马斯微积分第6章,6解人口Euler方法

然后每个样本属于正例(正例是人为规定的)的概率就是g(z), 并且每个样本是否属于正例的概率是p=g(z)--参考下文图中的定义 ,明显 不属于的概率是1-p即 1-g(z)

由于是伯努利分布(0,1分布),所以出现当前这N个样本情况的联合分布概率是,这N行样本分布概率的乘积(考虑各样本--各记录独立)

并且当这个概率最大时对应的那一组W就是需要的回归系数。

这里假设每行(每个样本)的p都不一样,但是这个p由 W'X  完全确定,X是特征(列属性取值),W'是要确定的回归系数。

如果g(z)=0.9999, 那说明这行样本属于正例的概率是99.999%,但是这行样本结果仍然可能是反例。W'X只是决定了二分的参数p,切每行不一样。

 

现在问题变成了求对数似然函数的极值(最小值),这个可以对这个函数进行梯度下降算法来实现。

 

复制代码
clc
clear
X=rand(10,5) *10  -- 10个样本,每样本5特征
y=round(rand(10,1))
b=glmfit(X,y,'binomial', 'link', 'logit')
yfit= glmval(b,X,'logit')
b_v=b(2:6);  -- 第一个参数是b截距,后面是5个系数
x=X(1,:)';
z=(b_v'* x + b(1));
p1=1./(1+exp(-z))
p2= glmval(b,x', 'logit')  -都使用logit模型 1/(1 +exp(-z))
View Code
复制代码

 

posted on   遗忘海岸  阅读(199)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2013-04-17 wCF REST 注意点
点击右上角即可分享
微信分享提示