python学习-Logistic回归与Softmax回归

图像分类数据集有CIFAR-10、ImageNet

应用:情感分类

关键:将样本x从文本形式转为向量形式 词袋模型(Bag-of-Words,BoW)

模型性能的评估指标

混淆矩阵(confusion matrix)

对于二分类问题,根据每一个样本的真实标签 和预测标签 ෝ的差异,可以 得到一个2*2的矩阵

python学习-Logistic回归与Softmax回归_第1张图片

对于多分类(N)问题,可以得到一个N*N的矩阵

二分类评价指标

python学习-Logistic回归与Softmax回归_第2张图片

三分类评价指标

micro策略

指把所有的类放在一起算,即所 有类的TP加和,再除以所有类的 TP和FP的加和。因此, micro方 法下的precision和recall都等 于accuracy。

python学习-Logistic回归与Softmax回归_第3张图片

macro策略

先分别求出每个类的precision再算术平均

Weighted策略

weighted算法不再是取算术平均, 而是 乘以该类在总样本数中的占比作为权重

逻辑斯蒂回归(logistic regression)是机器学习中的经典分类方法,属于对数 线性模型的一种。

对于线性判别函数f(实数空间),选择怎样的决策函数g,能让决策空间缩 小到[0,1]上,同时保证损失函数的连续性?

以二分类问题为例:

以下第一个函数也叫sigmoid函数

python学习-Logistic回归与Softmax回归_第4张图片

python学习-Logistic回归与Softmax回归_第5张图片

python学习-Logistic回归与Softmax回归_第6张图片

梯度下降过程中,需要在每个点上计算损失函数的梯度,然后继续朝负梯度值的 方向移动。因此,计算损失函数相对于参数向量每个分量的梯度,然后更新参数。 参数(权值向量)更新公式为:

python学习-Logistic回归与Softmax回归_第7张图片

python学习-Logistic回归与Softmax回归_第8张图片

算法关键步骤:

(1)随机初始化权重参数和偏置项

(2)计算初步加权平均输出X_out

(3)对X_out进行Sigmoid转换

(4)计算真实值和预测值的误差err

(5)计算权重参数的梯度

(6)计算偏置项的梯度

(7)分别更新权重参数和偏置项的参数

(8)记录损失,以便后续观察是否收敛

(9)重复1-8,直至收敛

import pandas as pd
import numpy as np
import os
os.chdir(r"d:\classdata\机器学习\02\to_student\data")
df = pd.read_csv("iris.csv")
df.head()
X = df.iloc[:100,0:4].values#读取样本点数据
y = df.iloc[:100,4].values#读取样本点真实值
y = np.where(y == 'setosa',0,1)#对真实值二值化
w_ = np.zeros(1+X.shape[1])#构造线性函数,除了权重参数需要加上偏置项,这样才构成权值向量,shape[1]表示X的1维长度
total_loss = []#构造损失列表,表示收敛趋势
iter = 1000
for i in range(iter):
    X_out = X.dot(w_[1:].T)#使用权值向量输出预测值
    y_val = 1/(1 + np.exp(-X_out))#对预测值进行sigmoid化
    err = y - y_val#真实值和预测值的误差err
    grad = -(1/len(X))*X.T.dot(err)#计算权重参数的梯度
    eta = 0.25#设置步长
    w_[1:] -= eta*grad
    w_[0] -= -(1/len(X))*eta*err.sum()#计算偏置项梯度,然后乘以步长,更新偏置项
    loss = (1/len(X))*(-y.dot(np.log(y_val))-(1-y).dot(np.log(1-y_val)))#记录损失
    total_loss.append(loss)
    print('no.{} is completed,loss is {}'.format(i+1, loss))
print(w_)

多分类问题

类别标签 ∈ {1,2, … , }可以有个取值

logistic回归在多分类问题上的扩展,判别函数的数量是C个 预测输入属于每个类别的取值 通过softmax函数将输出值转换为条件概率

Softmax回归#exp表示自然指数函数

python学习-Logistic回归与Softmax回归_第9张图片

多分类问题的交叉熵损失函数

python学习-Logistic回归与Softmax回归_第10张图片

python学习-Logistic回归与Softmax回归_第11张图片

你可能感兴趣的:(Python基础,python,学习,回归)