学习总结p2

概念

对于多分类任务,通常采用柔性最大值(softmax):

\sigma \left ( z \right )_{i}=\frac{e^{z_{i}}}{\sum_{j=1}^{k}e^{z_{i}}}

其中,z是一个K维的得分向量,每一维取值z_{j}\in \left ( -\infty ,+\infty\right )代表第j类的得分

一些分类任务的评价指标:

精度(accuracy)

Acc=\frac{TP+TN}{TP+FP+FN+TN}

真阳性率TPR,查全率,召回率(recall)

Rec=\frac{TP}{TP+FN}

假阳性率(false positive rate,FPR)

FPR=\frac{FP}{FP+TN}

查准率(precision)

Prec=\frac{TP}{TP+FP}

F1分数

F_{1}=\frac{2}{1/Prec+1/Rec}=\frac{2*Prec*Rec}{Prec+Rec}

F-beta分数

F_{\beta }=\left ( 1+\beta ^{2} \right )\frac{Prec*Rec}{\beta ^{2}*Prec+Rec}

实践中,F2和F0.5较为常用

ROC 曲线:

TPR随FPR的变化曲线,该曲线称为受试者操作特征(receiver operating characteristic,ROC)曲线。

为了定量衡量 ROC 曲线表示的模型好坏,我们通常计算 ROC 曲线与x轴和x=1直线围成的面积,称为曲线下面积(area under the curve,AUC)。模型将真实的正类和负类分得越清楚,就有越多的负类排在正类前面,AUC 就越大。

熵(entropy)
H(p)=-\sum_{i=1}^{n}P(X_{i})\log P(X_{i})=-H(p) +H(p,q)

相对熵(relative entropy)来衡量这两个分布的距离。相对熵又称为库尔贝克-莱布勒散度(Kullback-Leibler divergence),简称 KL 散度,其定义为:D_{KL}(p||q)=E_{X\sim p(x)}\left [ \log \frac{p(x)}{q(x)} \right ]

交叉熵(cross entropy)

H(p,q)=-\sum_{i=1}^{n}p(X_{i})\log q(X_{i})

在二分类问题中,令p(x)等于样本x的类别是X的概率;q(x)等于模型预测的样本类别为X的概率,我们期望模型预测的概率尽可能接近真实类别,因此要最小化p与q之间的距离D_{KL}(p||q)。而在离散化 KL 散度的定义中,-H(p)只与样本真实类别有关,无法通过模型优化。因此,我们只需要最小化交叉熵H(p,q)


代码

# 划分训练集与测试

np.random.seed(0)
ratio = 0.7
split = int(len(x_total) * ratio)
idx = np.random.permutation(len(x_total))
x_total = x_total[idx]
y_total = y_total[idx]
x_train, y_train = x_total[:split], y_total[:split]
x_test, y_test = x_total[split:], y_total[split:]

与线性回归相似,sklearn 同样提供了封装好的逻辑斯谛回归模型LogisticRegression

from sklearn.linear_model import LogisticRegression

# 使用线性模型中的逻辑回归模型在数据集上训练
# 其提供的liblinear优化算法适合在较小数据集上使用
# 默认使用系数为1.0的L2正则化约束
# 其他可选参数请参考官方文档
lr_clf = LogisticRegression(solver='liblinear')
lr_clf.fit(x_train, y_train)
print('回归系数:', lr_clf.coef_[0], lr_clf.intercept_)

# 在数据集上用计算得到的逻辑回归模型进行预测并计算准确度
y_pred = lr_clf.predict(x_test)
print('准确率为:',np.mean(y_pred == y_test))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值