线性分类算法:逻辑回归和Softmax回归

目录

  • (一 )逻辑回归
    • 1.1 逻辑回归概述:
    • 1.2 逻辑回归的作用与Sigmoid 函数:
      • 1.2.1 Sigmoid 函数作用
    • 1.3 指数族分布
    • 1.4 逻辑回归的损失函数
    • 1.5逻辑回归如何求解得到最优解模型方法
    • 1.6 逻辑回归鸢尾花分类
    • 1.7 逻辑回归做多分类
  • (二)softmax回归
    • 2.1 softmax回归公式与理解
    • 2.2 逻辑回归和 Softmax 回归的关系
  • 总结

(一 )逻辑回归

1.1 逻辑回归概述:

逻辑回归不是一个回归的算法,逻辑回归是一个分类的算法,因为逻辑回归算法是基于多元线性回归的算法。而正因为此,逻辑回归这个分类算法是线性的分类器,所以为有监督的。

1.2 逻辑回归的作用与Sigmoid 函数:

1.2.1 Sigmoid 函数作用

线性分类算法:逻辑回归和Softmax回归_第1张图片

1.3 指数族分布

线性分类算法:逻辑回归和Softmax回归_第2张图片

1.4 逻辑回归的损失函数

线性分类算法:逻辑回归和Softmax回归_第3张图片
线性分类算法:逻辑回归和Softmax回归_第4张图片
线性分类算法:逻辑回归和Softmax回归_第5张图片

1.5逻辑回归如何求解得到最优解模型方法

线性分类算法:逻辑回归和Softmax回归_第6张图片
线性分类算法:逻辑回归和Softmax回归_第7张图片

1.6 逻辑回归鸢尾花分类

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.linear_model import LogisticRegression # 导入logistics回归

data=datasets.load_iris() #内置的数据集
# print(data)
print(data.keys())
# print(data["data"]) data
#print(data["DESCR"])  data desc
"""
feature_names:此为花瓣的特征
['sepal length (cm)',
 'sepal width (cm)',
 'petal length (cm)',
 'petal width (cm)']
"""
data["feature_names"]
x_data=data["data"][:,3:] # 取出所有行第四列之后的所有的列,下标从0开始
# really_data
y=(data.target==2).astype(np.int) # 将正确为2的样本转为1,前面为真,使用astype转为int型的
# print(y)

model_data=LogisticRegression(solver="sag",max_iter=1000) # 生成模型
model_data.fit(x_data,y) #模型训练
x_new=np.linspace(0,3,1000).reshape(-1,1) # reshape(行,列)可以根据指定的数值将数据转换为特定的行数和列数,为-1代表着该行全部获取
print(x_new)

prd=model_data.predict_proba(x_new) # 各列别的可能性
print(prd)
prdic_b=model_data.predict(x_new)
print(prdic_b) # 属于哪类

1.7 逻辑回归做多分类

线性分类算法:逻辑回归和Softmax回归_第8张图片
在这里插入图片描述

(二)softmax回归

2.1 softmax回归公式与理解

softmax 回归是另一种做多分类的算法,是假设多项分布的,多项分布可以理解为二项分布的扩展。
公式为:
线性分类算法:逻辑回归和Softmax回归_第9张图片

2.2 逻辑回归和 Softmax 回归的关系

线性分类算法:逻辑回归和Softmax回归_第10张图片
线性分类算法:逻辑回归和Softmax回归_第11张图片

总结

  • 逻辑回归一般用于o-1分布的有监督分类问题,softmax用于多项式分类。逻辑多项式回归一般用于医疗影橡,如病例所属的类,可将不同的病例分到不同类中,一种病例可以分多次;而softmax则是归为一类。
  • 由 GLM 可知,LinearRegression,LogisticRegression,SoftmaxClassification
    三者都可以通过广义线性模型的指数分布族来解释,其参数求解优化过程都可以通过极大似然 函 数 法 来 实 现 。 当 采 用 极 大 似 然 函 数 求 解 时 , LogisticRegression 等 价 于 内 积 层+Sigmoid 函 数 +BinraryCrossEntropy 损 失 ; SoftmaxClassification 等 价 于 内 积 层+softmax 函数+CategoricalCrossEntropy 损失(在 caffe 里叫做 MultinomialLoss);LinearRegression 等价于内积层+均方差损失(caffe 里叫做 EuclideanLoss)

你可能感兴趣的:(机器学习,逻辑回归,分类)