LR逻辑回归

LR逻辑回归

先看线性回归,sigmoid函数中的z就是线性回归的内容。线性回归带入SIGMOD函数

步骤

想到sigmoid函数中的概率→目标函数P(y|θ,x),hθ(x)→求θ,取似然函数,取对数L(θ)→max(L(θ))→min((L(θ)))→求偏导,另偏导为0

线性回归的升级

虽然叫回归,但是是最厉害的二分类算法

非线性就是高阶(视频解释)

由输入到概率的转化

y表示分类为0还是1,h(x)表示概率

把特征的线性组合带入sigmoid函数得到y=1的概率

线性回归里面的标签y为连续值,在最小二乘法的被减数上;LR中的标签为0,1,在幂次上

用每一个机器学习模型都要弄清楚目标函数是什么

为了让结果值最符合数据,写出整合表达式对应的似然函数,根据似然函数求出最合适的参数

求对数似然的最大值,这是梯度上升问题,而常规操作时处理梯度下降问题。1/m,表示综合考虑m个样本

目标函数是什么?

暂时关注最后结果即可

对θ求偏导,有多少个θ就求多少次偏导,最后令所有偏导为0

根据对数似然知要求出最大值,通常方法是求解最小值,于是把似然函数取负值再求解(梯度上升转梯度下降)

i表示地多少个样本,j表示此样本的第j个特征

求偏导的结果为更新的方向(偏导方向),步长α(学习率,控制更新速度)乘方向为结果值(更新幅度),m表示总和考虑m个样本

θ不断更新,每迭代一次更新一次,θ=θ-α*grad,直到得到最终的θ

实例:根据学生的两门成绩判断该学生是够能被某大学录取

目标:建立分类器,求解三个参数,即θ0(偏置项)θ1(第一门成绩的参数)θ2(第二门成绩的参数)

设定阈值,根据阈值判断录取结果

np.random.shuffle()洗牌操作,打乱数据顺序

cost目标函数(纵轴),随着不断迭代(横轴),cost会下降到稳定值(收敛)

head()函数打印前5行数据

实例:信用卡欺诈检测

0正常,1异常,即标签y

数据为28个特征(已经进行预处理)的的多行数据

样本不均衡问题:正负样本的比例,面试问到

样本不均衡怎么做,如大多是正常数据,很少的异常数据

过采样(over sample):同样多。生成一些1样本数据,使1和0的样本数量一样多。首先方法,数据肯定是越多越好

优点:误判的数据减少,右上的数据会比下采样小10倍(与下图相比)。但Recall会偏低

横轴为预测标签

方法:SMOTE算法

训练集生成数据,生成数据与测试集无关

下采样(under sample):同样少。0多1少,从0中选取和1相同数量的样本

缺点:将本来正常的数据0误判为数据1,这个误判的数据个数过大

下采样缺点,用了少量数据训练模型,结果导致过拟合,原来很大部分的数据输入模型后发生错判,正常0被误判有欺诈1的情况增多
因为有大部分数据没有用来训练

下采样对应的混淆矩阵:下面的数据只包含采样后的数据,上面的数据包含所有的数据

横轴为预测标签

交叉验证:用于模型评估找出最好的参数(不同的参数对应的模型召回率和精度有很大区别)

数据切分为训练集和测试集

训练集再分为3段,训练出的模型会包含很多参数,这些参数选大的好还是选小的好?

通过交叉验证来确定出参数

1和2训练模型,3验证模型

1和3训练模型,2验证模型

2和3训练模型,1验证模型

K交叉验证(KFold),训练集切分为3份,K值为3;训练集切分为5份,K值为5

TP和TN是拿挑出的样本来看的: 

TP:判断正确了,且判断为正例(挑出样本中,女判为女)

FP:判断错误了,且判断为正例(挑出样本中,男判为女)

这个图没有理解?横纵表示什么含义?

正则化:两种 ,L1和L2

λ:惩罚力度,惩罚因子C

模型认为:数值大的的特征重要程度比较大,所以数据要进行标准化

混淆矩阵:下采样数据情况下计算

Recall=TP/(TP+FN)=137/(137+10)  注意这个图纵轴是从1开始的

注:FN(左下部分)表示预测错了,预测成负例,即真实标签为1预测成0(横纵轴含义,真实标签和预测标签都是已知的)。也可以理解为没有被找出来的数据,本来标签为1,但是预测成0,即没有找出来

精度=(0预测为0+1预测为1)/all=(129+137)/all

注:奢侈品广告投放给奢侈品用户,模型分类准确率达到95%,但在实际过程中,还是把大部分广告投放给非奢侈品用户?

这个问题就是用精度作为模型评估的缺点

当负样本占99%时,分类器把所有样本预测为负样本也可以获取99%的准确率。样本比例非常不均衡是,占比达的累呗往往会成为影响准确率的最主要因素

当奢侈品用户只占全体用户的一小部分,虽然模型分类准确率很高,不代表对奢侈品用户的分类准确率也很高

解决:平均准确率,每个类别下的样本准确率的平均作为模型评估的指标

阈值选择:默认为0.5。阈值越大,Recall值越大(全部大于阈值,即全为1)

还需要再原始的数据集上操作,即下采样中没有用到的原始数据:

猜你喜欢

转载自blog.csdn.net/qq_20386411/article/details/82909301