[PyTorch][chapter 5][李宏毅深度学习][Classification]

前言:

        这章节主要讲解常用的分类器原理.分类主要是要找到一个映射函数

         c=f(x) 比如垃圾邮件分类 :

         c=0, 垃圾邮件  c=1 正常邮件

      主要应用场景: 垃圾邮件分类,手写数字识别,金融信用评估.

       这里面简单了解一下,很少用

目录:

    1: Generative model

    2:    高斯分类器

    3:    高斯分类器跟其它模型关系


一 Generative model

     朴素贝叶斯分类器:

     以二分类为例:

       c_1,c_2  不同类别

       p(c_1),p(c_2): 不同类别出现的概率,先验概率

      p(x|c_1),p(x|c_2): 条件概率,不同类别中出现x的概率

  模型

          p(c_1 |x)=\frac{p(x)p(x|c_1)}{p(x|c_1)p(c_1)+p(x|c_2)p(c_2)}(贝叶斯联合分布推导)

    例子:

    有两个盒子,里面分别放绿球和红球

       

现在有个绿色的球,它来自哪个盒子

    p(c_1|g)=\frac{p(g|c_1)p(c_1)}{p(g)}

   其中p(g)=p(c_1)p(g|c_1)+p(c_2)p(g|c_2)

                 =\frac{2}{3}\frac{4}{5}+\frac{1}{3}\frac{2}{5}

     所以

      p(c_1|g)=\frac{4}{5}

      p(c_c|g)=1-\frac{4}{5}=\frac{1}{5}


二  高斯分类器

     2.1  模型

        假设不同类别服从不同的高斯分布

        输入x ,输出 对该类别的概率

       

       u : 均值

        \sum: 协方差矩阵  

     

a = np.cov(x,y)

   2.2  主要流程

             

       2.3 maximum likelihood 极大似然估计(计算u,\sum

                高斯分类器第一步要得到均值,和方差。均值,方差如何获取?

                我们通过极大似然估计 计算均值 和 协方差矩阵

               我们有训练样本 (x^1,c_1),(x^2,c_1),(x^3,c_1).....(x^N,c_1)

                我们要找到u,\sum使得下面概率最大

                 L(u,\sum)=f_{u,\sum}(x^1)=f_{u,\sum}(x^2)...f_{u,\sum}(x^N)

                 这个值就是样本均值和样本的协方差,假设有79个点

              

            2.3 高斯分类器问题   

           不同均值,方差的高斯分类器容易发生过拟合.

           为了降低过拟合,通常假设不同类别的方差一样,均值不同. 通过增加样本数降低方差 。如下图两类样本.

L(u_1,u_2,\sum)=f_{u_1,\sum}(x^1)f_{u_1,\sum}(x^2)...f_{u_2,\sum}(x^{80})...f_{u_2,\sum}(x^{179})


三  高斯分类器跟其它模型关系

1: 跟Sigmoid 关系

     设   z=ln \frac{p(x|c_1)p(c_1)}{p(x|c_2)p(c_2)}

     则

     p(c_1|x)=\frac{p(x|c_1)p(c_1)}{p(x|c_1)p(c_1)+p(x|c_2)p(c_2)}

                   =\frac{1}{1+\frac{p(x|c_2)p(c_2)}{p(x|c_1)p(c_1)}}

                   =\frac{1}{1+e^{-z}}

                   =\sigma (z)

 3.2  跟Linear 函数的关系

           z=ln\frac{p(x|c_1)}{p(x|c_2)}+ln\frac{p(c_1)}{p(c_2)}

                 =ln\frac{p(x|c_1)}{p(x|c_2)}+ln\frac{N_1}{N_2}

  当 \sum^2=\sum^1=\sum 时候,可以进一步简化

 z=(u_1-u_2)^T(\sum)^{-}x-\frac{1}{2}u_1^T\sum^{-}u_1+\frac{1}{2}u_2^T\sum^{-}u_2+ln\frac{N_1}{N_2}  

非x 的项可以看作常数b

x项前面可以看作w

 z=wx+b

 

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

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

相关文章

外包干了一个月,技术明显进步。。。。。

先说一下自己的情况,本科生生,19年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试…

Linux--学习记录(2)

解压命令: gzip命令: 参数: -k:待压缩的文件会保留下来,生成一个新的压缩文件-d:解压压缩文件语法: gzip -k pathname(待压缩的文件夹名)gzip -kd name.gz(待解压的压缩包名&#x…

Tap虚拟网卡

1 概述 Tap设备通常用于虚拟化场景下,其驱动代码位于drivers/net/tun.c,tap与tun复用大部分代码, 注:drivers/net/tap.c并不是tap设备的代码,而是macvtap和ipvtap; 下文中,我们统一称tap&#…

L1-029:是不是太胖了

题目描述 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧………

uni-app实现安卓原生态调用身份证阅读器读卡库读身份证和社保卡、银行卡、IC卡等功能

DONSEE系列多功能读写器Android Uniapp API接口规范V1.0.0 本项目Uniapp调用了身份证读卡器的库文件:DonseeDeviceLib-debug.aar,该库放到nativeplugins\donsee-card\android,然后会自动加载。SDK会自动检查是否拥有USB设备权限,…

python爬取 HTTP_2 网站超时问题的解决方案

问题背景 在进行网络数据爬取时,使用 Python 程序访问支持 HTTP/2 协议的网站时,有时会遇到超时问题。这可能会导致数据获取不完整,影响爬虫程序的正常运行。 问题描述 在实际操作中,当使用 Python 编写的爬虫程序访问支持 HTT…

特殊进程之守护进程

文章目录 1、守护进程的概念2、如何查看守护进程3、编写守护进程的步骤3.1 创建子进程,父进程退出3.2 在子进程中创建新会话3.3 改变当前工作目录3.4 重设文件权限掩码3.5 关闭不需要的文件描述符3.6 某些特殊的守护进程打开/dev/null 4、守护进程代码示例 1、守护进…

一对一聊天程序

package untitled1.src;import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.*;public class MyServer extends JFrame{private ServerSocket server; // 服务器套接字pri…

22、pytest多个参数化的组合

官方实例 # content of test_multi_parametrie.py import pytestpytest.mark.parametrize("x",[0,1]) pytest.mark.parametrize("y",[2,3]) def test_foo(x,y):print("{}-{}".format(x,y))pass解读与实操 要获得多个参数化参数的所有组合&…

解决使用pnpm安装时Sharp模块报错的方法

在使用pnpm进行项目依赖安装的过程中,有时候会遇到Sharp模块报错的情况。Sharp是一个用于处理图像的Node.js模块,但它的安装可能会因为各种原因而失败,导致项目无法正常启动。本文将介绍这个问题的方法。 问题描述 解决方法 在命令行分别输…

jsp在线辅助教育系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 在线辅助教育系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

概率密度函数(PDF)正态分布

概率密度函数(PDF)是一个描述连续随机变量取特定值的相对可能性的函数。对于正态分布的情况,其PDF有一个特定的形式,这个形式中包括了一个常数乘以一个指数函数,它假设误差项服从均值为0的正态分布: p ( …

【数据结构】——队列实现二叉树的功能

前言:二叉树的实现方式多种多样,有数组实现满二叉树,有链表实现完全二叉树,今天我们就用队列来实现二叉树。 创建二叉树: typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

java8 常用code

文章目录 前言一、lambda1. 排序1.1 按照对象属性排序:1.2 字符串List排序:1.3 数据库排序jpa 2. 聚合2.1 基本聚合(返回对象list)2.2 多字段组合聚合(直接返回对象list数量) 二、基础语法2.1 List2.1.1 数…

Java对象转Map

在和外部系统对接时&#xff0c;对方系统提供的SDK方法入参全是Map&#xff0c;没办法&#xff0c;只能想办法把对象转成Map。这里&#xff0c;借助了hutool的工具类&#xff0c;可以方便的通过反射获取对象的属性。引入hutool的maven配置&#xff1a; <dependency><g…

Flink 使用场景

Apache Flink 功能强大&#xff0c;支持开发和运行多种不同种类的应用程序。它的主要特性包括&#xff1a;批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。Flink 不仅可以运行在包括 YARN、 Mesos、K8s 在内的多种资源管理框架上&#xff0c;还支持…

智慧社区前景无限,科技引领未来发展

社区是城镇化发展的标志&#xff0c;作为人类现代社会的生活的基本圈子&#xff0c;是人类生活离不开的地方&#xff0c;社区人口密度大、车辆多&#xff0c;管理无序&#xff0c;社区的膨胀式发展多多少少带来一定的管理上的缺失。社区作为智慧城市建设的重要一环&#xff0c;…

时间复杂度为 O(n^2) 的排序算法 | 京东物流技术团队

对于小规模数据&#xff0c;我们可以选用时间复杂度为 O(n2) 的排序算法。因为时间复杂度并不代表实际代码的执行时间&#xff0c;它省去了低阶、系数和常数&#xff0c;仅代表的增长趋势&#xff0c;所以在小规模数据情况下&#xff0c; O(n2) 的排序算法可能会比 O(nlogn) 的…

uniapp实战 —— 竖排多级分类展示

效果预览 完整范例代码 页面 src\pages\category\category.vue <script setup lang"ts"> import { getCategoryTopAPI } from /apis/category import type { CategoryTopItem } from /types/category import { onLoad } from dcloudio/uni-app import { compu…

【链表Linked List】力扣-114 二叉树展开为链表

目录 题目描述 解题过程 官方题解 题目描述 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应…