关于逻辑回归与线性回归
参考: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))