高效计算基础与线性分类器

2023-11-19

七月算法5月深度学习班课程笔记——No.2

1. 深度学习与应用

  1. 图像上的应用:可以根据图片,识别图片的内容,描述图像;模仿人的创造性生成画作;相册自动归类等。
  这里写图片描述
   这里写图片描述
  
  2. NLP上的应用:用RNN学习某作家的文笔风格进行写作、学习代码写作等。下图为RNN学习了200M的代码量后自动生成的代码片段,代码的格式已经比较相似了。
  这里写图片描述
  
  3. 综合应用:识别物体,再根据识别出来的物品组织成文本描述。
  这里写图片描述

2. 高效计算基础

  python基本类型、容器等基础的语言知识,请移步:python基础教程
  Numpy:矩阵运算
  Scipy:稀疏矩阵求距离。
  科学计算库的安装与使用可以移步:Python及科学运算库的安装

3. 图像识别难点与KNN

  图像识别的核心问题:一个图像给计算机输入的是一个矩阵,每一个像素点上都是一个RGB颜色值,根据矩阵去做图像识别,计算置信度。
  难点:
  1. 视角不同:每个事物旋转或者侧视最后的构图都完全不同
  2. 尺寸大小不统一:相同内容的图片也可大可小
  3. 变形:很多东西处于特殊的情形下, 会有特殊的摆放和形状
  4. 光影等干扰/幻象重点内容
  5. 背景干扰
  6. 同类内的差异(比如椅子有靠椅/吧椅/餐椅/躺椅…)
  图像识别的基本流程:

输入:我们的给定K个类别的N张图片, 作为计算机学习的训练集。
学习:让计算机逐张图片地『 观察』 和『 学习』
评估:就像我们上学学了东西要考试检测一样, 我们也得考考计算机学得如何, 于是我们给定一些计算机不知道
类别的图片让它判别, 然后再比对我们已知的正确答案。

  K最邻近法(KNN):K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
  KNN做图像识别有一些缺点,比如准确度不高,因为找不到图像合适的特征,而且KNN需要记录全部训练数据。那么可以试试线性分类器,用逻辑回归或者linearSVM。

4. 线性分类器

4.1 线性分类器

  线性分类器会有一个得分函数,比如CIFAR-10数据集,数据集里有10个类别,每个图像的大小都是32x32,每个像素点有RDB的值,所以总共有32x32x3=3072 个数,线性分类器就是把这些数作为输入,即3072x1的向量,给定权重矩阵W[n*3072],n是要判定的类别的数量。通过矩阵相乘得到得分函数:
  

f(x,W)=Wx+b

  其中W是通过训练得到的。那么得到的得分高低就可以判定类别。
   这里写图片描述
  线性分类器的理解:
  1. 空间划分:Wx+b是空间的点。
  2. 模板匹配:W的每一行可以看做是其中一个类别的模板。每类得分,实际上是像素点和模板匹配度,模板匹配的方式是内积计算。

4.2 损失函数

  损失函数:由得分函数我们知道,给定W,可以由像素映射到类目得分。损失函数用来评估W、b的好坏,衡量吻合度,可以通过调整参数/权重W, 使得映射的结果和实际类别吻合。有两种损失函数:
  一是hinge loss/支持向量机损失
  对于训练集中的第i张图片数据 xi ,在W下会有一个得分结果向量 f(xi,W) ,第j类的得分为我们记作 f(xi,W)j ,则在该样本上的损失我们由下列公式计算得到:
  

Li=jyimax(0,f(xi,W)jf(xi,W)yi+Δ)

  假如有猫、狗、船三个类别,得分函数计算某张图片的得分为 f(xi,W)=[13,7,11] ,而实际的结果是第一类 yi=0 。假设 Δ=10 ,用上面的公式把错误类别 (jyi) 都遍历了一遍,则求值加和:
  
Li=max(0,713+10)+max(0,1113+10)

  计算得到狗的损失函数为0,船的损失函数为8,所以被判定为船的概率还是比较高的。所以 Δ 可以看做一个超参数,规定一个警戒线用来平衡损失。
   这里写图片描述
  
  二是 互熵损失(softmax分类器)
   对于训练集中的第i张图片数据 xi ,在W下会有一个得分结果向量 fyi ,则损失函数记作:
  
Li=log(efyijefj)

   把得分求exp再做归一化,计算损失。两种损失函数得到的结果会有些区别,实际的求解过程比较如下:
   这里写图片描述

5. 实践

  KNN分类器、用SVM和Softmax分类器做图像分类,详见ipython。

More

  1. python做科学计算
  2. 深度学习—线性分类器视频及PPT下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高效计算基础与线性分类器 的相关文章

随机推荐

  • Java变量与常量书写方式与规范

    变量 变量是什么 变量是可以变化的量 Java是一种强类型语言 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元 其要素包括变量名 变量类型和作用域 type varName value varName value 数据类型
  • 链表指定区间反转

    题目 反转从位置 m 到 n 的链表 请使用一趟扫描完成反转 说明 1 m n 链表长度 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL m 2 n 4 输出 1 gt 4 gt 3 gt 2 gt 5 gt NULL 头
  • java公钥签名,ping++ java验签(签名,公钥,charge)怎么获取

    packageexample importjava io FileInputStream importjava security InvalidKeyException importjava security KeyFactory impo
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • vue项目打包部署到linux tomcat服务器,解决一刷新就报错404问题

    1 部署到服务器前 更改webpack配置 修改index js中以下配置 2 运行npm run build 或者cnpm run build命令 打包完成后 在项目的根目录dist文件下生成了如下文件 3 tomcat的webapps创
  • 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    问题解决 使用串口调试助手发送控制字符 协议指令 参考文章 1 问题解决 使用串口调试助手发送控制字符 协议指令 2 https www cnblogs com wlsandwho p 4202094 html 备忘一下
  • 丁鹏:多角度回顾因果推断的模型方法

    来源 集智俱乐部 本文约23000字 建议阅读20 分钟 本文整理自丁鹏老师的8篇短文 从多角度回顾了因果推断的各种模型方法 导读 推断因果关系 是人类思想史与科学史上的重要主题 现代因果推断的研究 始于约尔 辛普森悖论 经由鲁宾因果模型
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵
  • 【算法竞赛】Python快速入门指南

    该指南由GPT4编写 用于快速入门蓝桥杯Python组 当然 仅限入门而已 本指南由GPT 4生成 我只是负责引导 并对内容进行整理和补充 一直以来我都是使用C 作为算法竞赛语言 但是奈何C 组太卷 自己又太菜 于是另谋他路 Prompt模
  • 【AD20】快速且只选中部分自己想要的同类型的元件

    在project属性框里面 可以选择所有如下图所示内容 这个是一个过滤器 里面有多种小选项 比如 Components 元件 Pads 焊盘 Texts 文本 选择哪个就只能选择对应的部分 比如 只选择文本 在画图区域 框选 发现只有文本才
  • 数位拆分

    4 数位拆分v1 0 现有一个4位数的正整数n 4321 即n是一个已知的数 固定为4321 编写程序将其拆分为两个2位数的正整数43和21 计算并输出拆分后的两个数的加 减 乘 除和求余的结果 例如n 4321 设拆分后的两个整数为a b
  • 【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

    label assignment是指 在训练过程中如何将某个prediction指定给某个GT 用于计算损失 训练网络 对于上一篇文章 他们首先用one to one label assignment替换了one to many label
  • 生信学习——Linux必做20题(附详细答案解读)

    题目列表 1 在任意文件夹下面创建形如 1 2 3 4 5 6 7 8 9 格式的文件夹系列 2 在创建好的文件夹 home qiime2 Desktop test 1 2 3 4 5 6 7 8 9 下创建文本文件 me txt 3 在文
  • C#中unsafe的使用

    1 unsafe在C 程序中的使用场合 实时应用 采用指针来提高性能 引用非 net DLL提供的如C 编写的外部函数 需要指针来传递该函数 调试 用以检测程序在运行过程中的内存使用状况 2 使用unsafe的利弊 好处是 性能和灵活性提高
  • python 分段拟合 判别_利用Python检验你的策略参数是否过拟合(转)

    过拟合现象 一般来说 量化研究员在优化其交易策略参数时难免会面临这样一个问题 优化过后的策略在样本内表现一般来说均会超过其在样本外的表现 即参数过拟合 对于参数优化来说 由于优化时存在噪音 过拟合是不可避免的现象 然而为了追求策略的稳定性
  • unity期末作业-插针游戏

    unity期末作业 插针游戏 附下载链接 鼠标控制针的发射 圆盘可以显示接住的针数目 若两根针碰到则界面变红 游戏结束 详细情况如下动态图 点我下载 https download csdn net download weixin 43474
  • 从云到「链」,京东云成为中国第四朵云背后

    在产业加速到数实融合加速的今年 云计算不再是云厂商的唯一考校指标 作者 叶子 出品 产业家 京东云再次破圈 信号来自接连发布的几份报告 在国际权威研究机构Forrester发布的名为 The Forrester Wave Public Cl
  • maven官网下载bin.tar.gz和bin.zip以及src.tar.gz和src.zip的区别

    maven官网http maven apache org download cgi 去官网下载的时候不知道选哪个 现在记录一下 首先弄清楚各后缀的含义 1 bin代表二进制class文件 由java文件编译而成 src代表源码 java源码
  • 天池数据竞赛docker提交操作学习

    天池数据竞赛docker提交操作学习 由于最近天池的比赛都要求使用docker来提交结果 所以在此记录一下docker提交到天池的整个流程 目前正在做的 全球人工智能技术创新大赛 热身赛二 比赛链接 https tianchi aliyun
  • 高效计算基础与线性分类器

    七月算法5月深度学习班课程笔记 No 2 1 深度学习与应用 1 图像上的应用 可以根据图片 识别图片的内容 描述图像 模仿人的创造性生成画作 相册自动归类等 2 NLP上的应用 用RNN学习某作家的文笔风格进行写作 学习代码写作等 下图为