python学习-Logistic回归与Softmax回归

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

应用:情感分类

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

模型性能的评估指标

混淆矩阵(confusion matrix)

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

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

二分类评价指标

三分类评价指标

micro策略

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

macro策略

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

Weighted策略

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

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

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

以二分类问题为例:

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

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

算法关键步骤:

(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#真实值和预测值的误差errgrad = -(1/len(X))*X.T.dot(err)#计算权重参数的梯度eta = 0.25#设置步长w_[1:] -= eta*gradw_[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表示自然指数函数

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChinaSoft 论坛巡礼 | 智慧化 IDE 论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

Leetcode 557 反转字符串中的单词 III 简单

题目 - 点击直达 1. 557 反转字符串中的单词 III 简单1. 题目详情1. 原题链接2. 题目要求3. 基础框架 2. 解题思路1. 思路分析2. 时间复杂度3. 代码实现 1. 557 反转字符串中的单词 III 简单 1. 题目详情 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序…

中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程

中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半…

SSH 无密登录设置

1 ) 配置 ssh (1)基本语法 ssh 另一台电脑的 IP 地址(2)ssh 连接时出现 Host key verification failed 的解决方法 [libaihadoop102 ~]$ ssh hadoop103 ➢ 如果出现如下内容 Are you sure you want to continue c…

Python学习笔记—元组

1、元组定义 元组使用()来定义,元素在()括号内,用逗号隔开 空元组定义,元组名() 注:当元组只有1个元素的时候,需要在元素后面加逗号,…

基于物联网、大数据、云计算、人工智能等技术的智慧工地源码(Java+Spring Cloud +UniApp +MySql)

智慧工地是指利用物联网、大数据、云计算、人工智能等技术手段,为建筑施工现场提供智能硬件及物联网平台的解决方案,实现建筑工地的实时化、可视化、多元化、智慧化、便捷化。智慧工地的建设目标是实现全天候的管理监控,提高施工效率和质量&a…

电子电器架构 —— 车载网关初入门(二)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 PS:小细节,本文字数5000+,详细描述了网关在车载框架中的具体性能设置。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他…

SV-10A-4G IP网络报警非可视终端 (4G版)

SV-10A-4G IP网络报警非可视终端 (4G版) https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.621e3d0dpv5knb&ftt&id745728046948 产品简介: 通过局域网/广域网网组网的网络报警系统,改变传统局域网组网…

pytorch代码复现1(基础知识)

创建矩阵 全零矩阵 In [4]: import torch torch.__version__ xtorch.empty(5,3) xOut[4]: tensor([[0.0000e00, 0.0000e00, 4.6430e-23],[1.4013e-45, 1.2612e-44, 0.0000e00],[3.5733e-43, 0.0000e00, 0.0000e00],[0.0000e00, 0.0000e00, 0.0000e00],[0.0000e00, 0.0000e00, 0…

算法通关村第四关-黄金挑战栈的经典问题

括号匹配问题 描述 : 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有…

Kubernetes Service 详解

Author:rab 目录 前言一、ClusterIP1.1 简介1.2 案例 二、NodePort2.1 简介2.2 案例 三、LoadBalancer3.1 简介3.1.1 MetalLB 简介3.1.2 MetalLB 部署3.1.3 MetalLB 配置3.1.3.1 Layer 2 模式3.1.3.2 BGP 模式 3.2 案例3.2.1 部署3.2.2 验证 四、ExternalName4.1 简…

【c++|opencv】一、基础操作---1.图像读取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 有关c操作opencv记录 1. 正文 1.1 图像读取、显示、保存 // 读取、显示、保存图像#include <opencv2/opencv.hpp> #include <iostream>us…

【uniapp】uniapp实现input输入显示数字键盘:

文章目录 一、官网文档&#xff1a;二、文档&#xff1a;三、效果&#xff1a;【1】number&#xff1a;iPhone原生数字键盘不显示小数点【2】digit&#xff1a;【3】digit和inputmode&#xff1a; 一、官网文档&#xff1a; input | uni-app官网 二、文档&#xff1a; 三、效果…

Linux ubuntu安装RStudio

安装RStudio 如果你的实例镜像没有安装Rstudio&#xff0c;可以按照下面的教程进行安装。 关注微信&#xff1a;生信小博士 sudo apt-get install gdebi-core# Ubuntu20.04版本【一般都是这个&#xff0c;具体是哪个&#xff0c;依据你的实例镜像来】 wget https://download…

软考网工历年简答题汇总(2016下半年~2023年上半年)

目录 2016年下半年 2018年上半年 2018年下半年 2021年上半年 2022年上半年 2022年下半年 2023年上半年 2016年下半年 试题一&#xff1a; 【问题 3】若地址规划如图 1-1 所示&#xff0c;从IP 规划方案看该地址的配置可能有哪些方面的考虑&#xff1f; 答案&#xff…

python excel接口自动化测试框架

前言 前些天写了pytestyamlallure接口自动化测试框架这篇文章。 今天采用Excel继续写一个接口自动化测试框架。 设计流程图 这张图是我的excel接口测试框架的一些设计思路。 首先读取excel文件&#xff0c;得到测试信息&#xff0c;然后通过封装的requests方法&#xff0c…

铁合金电炉功率因数补偿装置设计

摘要 由于国内人民生活水平的提高&#xff0c;科技不断地进步&#xff0c;控制不断地完善&#xff0c;从而促使功率因数补偿装置在电力等系统领域占据主导权&#xff0c;也使得功率因数补偿控制系统被广泛应用。在铁合金电炉系统设计领域中&#xff0c;功率因数补偿控制成为目前…

38基于matlab的期货预测,利用PSO优化SVM和未优化的SVM进行对比,得到实际输出和期望输出结果。

基于matlab的期货预测&#xff0c;利用PSO优化SVM和未优化的SVM进行对比&#xff0c;得到实际输出和期望输出结果。线性核函数、多项式、RBF核函数三种核函数任意可选&#xff0c;并给出均方根误差&#xff0c;相对误差等结果&#xff0c;程序已调通&#xff0c;可直接运行。 3…

公网远程访问macOS本地web服务器

# 公网访问macOS本地web服务器【内网穿透】 文章目录 1. 启动Apache服务器2. 公网访问本地web服务2.1 本地安装配置cpolar2.2 创建隧道2.3 测试访问公网地址3. 配置固定二级子域名3.1 保留一个二级子域名3.2 配置二级子域名4. 测试访问公网固定二级子域名 以macOS自带的Apache…

【MySQL系列】- MySQL日志详解

【MySQL系列】- MySQL日志详解 文章目录 【MySQL系列】- MySQL日志详解一、My日志分类二、重做日志&#xff08;redo log&#xff09;redo 日志格式简单日志格式复杂的 redo 日志格式 三、回滚日志&#xff08;undo log&#xff09;undo log的作用undo log数据结构 四、二进制日…