本节主要是学习一些机器学习中常见的概念和内容。
1. LR(逻辑回归):本质上是一个分类算法,多用于2分类,也用于多分类。是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。这种可能性并非是概率,而是一种有限的带有明确定义的离散值。
(1) 逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。但是逻辑回归通过sigmoid函数引入了非线性因素。
(2) 代价函数:交叉熵损失函数
对于单样本来说:
J(x) = - [ ylog(y') + (1 - y)log(1-y')]
对于多样本来说
简单的来看,因为是负数,所有在y(真实值)=1,时候,为了让代码函数最小,要使得log(y')尽量大,同时在sigmoid函数的作用下,y‘更接近于1也就是y,设计非常合理。
(3) 假设函数:一般都是sigmoid函数/逻辑函数
函数曲线图如下:所有值都被界定在[ 0, 1 ]之间
逻辑回归所做的假设:求的就是在x和 塞塔(没打出来。。)的条件下,y=1的概率。
2. 机器学习中的常见评估指标
(1) 混淆矩阵:是一个误差矩阵,可以处理多分类问题。
真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例
真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例
假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例
假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例
基于上述四个指标,进而计算更精确的评估指标。
正确率(accuracy):(TP + TN)/ (P + N),被正确分类的样本比例或数量。
错误率(Misclassification/error rate):(FP + FN)/ (P + N),被错误分类的样本比例或数量。
召回率(recall) or 敏感度(sensitive) or 真阳率(True Positive Rate):TP / P ,所有正例中被分类正确的比例
假阳率(False Positive Rate):FP / N , 被分类为正例的负例占实际负例样本数量的比例
特异性(Specificity):TN / N ,所有负例被正确分类的比例。
精度(Precision):TP / (TP + FP),被分为正例中实际为正例的比率
F1 score:综合precision和recall,2×precision*recall / precision + recall
Fβ score :(1+β2)×precision*recall / β2*(precision + recall)
Roc曲线:即接收者操作特征曲线(receiver operating characteristic curve),反映了真阳性率(灵敏度)和假阳性率(1-特异度)之间的变化关系。Roc曲线越趋近于左上角,预测结果越准确。(图是抄来的- -)
AUC(ROC曲线下的面积,Area Under Curve):显然这个值不会大于1,并且因为ROC曲线均在y=x上面,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
意义:AUC是衡量二分类模型优劣的一种评价指标,表示预测的正例排在负例前面的概率。
P-R曲线:presision 和 recall 就是 TP/TP+FP, TP / P。
画图:通过置信度就可以对所有样本进行排序,再逐个样本的选择阈值,在该样本之前的都属于正例,该样本之后的都属于负例。每一个样本作为划分阈值时,都可以计算对应的precision和recall,那么就可以以此绘制曲线。别人的图。
AP和MAP:
AP:设总数为N的样本中总共有M个正样本,则从Top-1至Top-N可以有M个recall值,分别为(1/M,2/M,...,M/M),对于每个recall值r,可以从对应的(r'>=r)中计算出一个最大的precision,对这M个precision求平均得到AP。
MAP:对每个类别都计算出AP,然后取平均。