深度学习 --- stanford cs231学习笔记(一)

stanford cs231学习笔记(一)

 

1,先是讲到了机器学习中的kNN算法,然后因为kNN分类器的一些弊端,引入了线性分类器。

kNN算法的三大弊端:

(1),计算量大,当特征比较多时表示性差

(2),训练时耗时少,且计算需求低,反而是对测试数据分类时,计算需求量大。

(3),衡量两幅图像之间的差异时,衡量方式单一,例如L1,L2距离。且仅有的这两种方法效果都不理想。

2,引入线性分类器

        把图像的二维矩阵拉成一长条,变成一个向量x。对每个向量乘以一组权重系数W,得到一个分类的得分。也就是说,如果有10个类别的话,权重矩阵W就有10行。每行的权重系数对应了一个种类,比如说第一行对应的是猫的权重系数,那么第一行乘以x后,得到的值就是猫的得分。第二行是人,第二行乘以x后,就能得到对人的打分。依此类推,最终会得到10类的打分。

        上图为一个简化模型,假设图像只有4个像素,且总共只有3个类别的打分结果。可以看得出,这个打分结果是错误的,Dog的得分最高。而cat反而得了最低分。

3,如何选择正确的W,才能让相应类别的图像打分最高而在其他类型的图像上打分低?答案就是损失函数Loss function,用于衡量正对当前所使用的W矩阵分类的打分结果,有多么的unhappy不满意。

3,1,损失函数有两种,一种是SVM loss(也叫hinge loss),分数越高表示越unhappy,即越不满意。

其中s_{j}s_{y_{i}}表示经过Wx计算后的分数向量score vector,根据这种方式计算后得到的结果分别是:

 最终得到L函数的均值,对svm loss而言,分数越高,说明分类结果越不好。

 3,2,另一种损失函数叫softmax(也叫cross-entropy loss),他把分数转化成了概率函数,然后再对这个概率函数求了一个负自然对数。

        负自然对数函数的图像如下图所示,又因为概率函数的值域在0~1之间,因此,最终L函数的值域应该是在正无穷大到0之间。概率越低损失函数越大,概率越大,也就是越接近1,损失函数的值越接近0。

4,Loss function用于如何评估权重W的合理性,相当于是一个“体检指标”。指标高了,说明W有病了,如果指标越低,则说明W越健康。如何有效的利用Loss函数去优化W呢?这时optimization就出现了,也叫优化函数。

既然,我们的目标是让损失函数L最小化,我们就应该试着找到怎么改变W才能让L减小的最多。这里用到了求极限的概念,也就是通过让W增加一个很小的变化h,得到他变化最大的


 (全文完) 

--- 作者,松下J27

 

 

 

参考文献(鸣谢): 

 1,Stanford University CS231n: Deep Learning for Computer Vision

 

 

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

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

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

相关文章

慢SQL问题全解析:原因诊断与性能优化策略

慢SQL的定义: 执行时间长的 慢SQL的筛选: 1.使用MySQL自带的日志 查看慢查询日志是否开启: SHOW VARIABLES LIKE %slow_query_log%; 开启慢查询日志:使用该方法开启MySQL的慢查询日志只对当前数据库生效,如果MySQ…

HF区块链链码基础

链码生命周期 一 . 链码准备 准备文件 . 在测试目录下创建chaincode,拷贝测试链码进 chaincode目录,拷贝 set-env.sh 脚本进 scripts 目录 二. 打包链码 打包测试链码 export FABRIC_CFG_PATH${PWD}/config peer lifecycle chaincode package ./chaincode/chaincode_basic.…

Centos7使用Nginx配置HTTPS正向代理

Centos7使用Nginx配置HTTPS正向代理 Nginx默认安装只支持代理HTTP, 不支持代理 HTTPS, 如果需要支持HTTPS需要在Nginx编译时加入 ngx_http_proxy_connect_module. 文件准备 从 ngx_http_proxy_connect_module 模块仓库下载源代码压缩包, 并确定支持的 Nginx 版本 仓库地址: …

每周一算法:单源次短路

题目描述 “您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。 比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。 旅行社计划旅途从 S S S 城市出发,到 F …

C语言进阶|链表经典OJ题

✈移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 方法一: 遍历链表找到所有等于val的节点,再执行删除操作删除这些节点。 方法二: …

算法必备数学基础:图论方法由浅入深实践与应用

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

深度探索DreamFusion:AI和3D建模的革命

在人工智能技术迅猛发展的今天,DreamFusion代表了一个新的突破,它是一种将文本描述转化为3D模型的技术。本文旨在详细解读DreamFusion的工作原理、应用场景以及它如何改变3D建模和视觉艺术领域。 一、DreamFusion简介 DreamFusion是一种结合了深度学习…

自动化密码填充:使用Python提高日常工作效率

密码是我们日常生活中难以逃脱的一部分。从解锁电脑到登录各种服务,我们需要记住无数的密码。幸运的是,通过Python和一些有用的库,我们可以简化填入密码的过程,使日常任务自动化变得简单。在本文中,我们将探讨如何使用…

SparkSQL---简介及RDD V.S DataFrame V.S Dataset编程模型详解

一、SparkSQL简介 SparkSQL,就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身不叫SparkSQL,而叫Shark,最开始的时候底层代码优化,sql的解析、执行引擎等等完全基于Hive,总之Sha…

JimuReport报表源码反编译运行遇到的问题汇总

由来:突然有一天,发现使用jimu报表工具接入功能的时候很简单,能做出来简单、复杂、主子报表等一系列,然后发问有没有一种可能拿到源码?带着这种可能我们进入下面的操作。 1、环境准备 jimureport-spring-boot-starter:1.7.0 jar包 官方版本:GitHub - jeecgboot/JimuRe…

2024年水资源保护盛事,“澜湄周”邀请国信华源加入!

4月26日,2024年水资源领域“澜湄周”活动在北京举行。水利部国科司、外交部亚洲司和边海司、湄公河五国驻华使馆以及澜湄水资源合作单位的代表嘉宾出席活动。北京国信华源公司特邀参加,现场就深化澜湄水资源合作展开深入交流研讨。 澜湄六国,…

2022-2003年上市公司企业商业信用融资数据

01、数据简介 企业商业信用融资是指企业之间在买卖商品时,以商品形式提供的借贷活动。这种融资方式是经济活动中一种最普遍的债权债务关系。商业信用的存在对于扩大生产和促进流通起到了十分积极的作用,但不可避免的也存在着一些消极的影响。 测算方式…

使用 LooperPrinter 监控 Android 应用的卡顿

在 Android 开发中,主线程(UI线程)的卡顿直接影响用户体验。LooperPrinter 是一种有效的工具,可以帮助我们监测和识别这些卡顿。下面是如何实现 LooperPrinter 监控的详细步骤和相应的 Kotlin 代码示例。 步骤 1: 创建自定义的 P…

knife4j springboot3

1.导入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.5.0</version></dependency> 2.配置类 package com.tigeriot.cloudser…

牛客JZ47 礼物的最大价值【中等 动态规划 C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/2237b401eb9347d282310fc1c3adb134 思路 动态规划&#xff1a; 每个单元格依赖于他的上边a和左边b&#xff0c;单元格的值为max(a,b)自己的值参考答案C class Solution {public:/*** 代码中的类名、方法名、参…

京东web京东,m端滑块,h5st4.2,4.3,4.7

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章未…

力扣33. 搜索旋转排序数组

Problem: 33. 搜索旋转排序数组 文章目录 题目描述思路复杂度Code 题目描述 思路 1.初始化左右指针&#xff1a;首先&#xff0c;定义两个指针left和right&#xff0c;分别指向数组的开始和结束位置。 2.计算中间值&#xff1a;在left和right之间找到中间位置mid。 3.比较中间值…

strstr,strnstr函数详解

strstr函数 strstr函数是C语言中的一个字符串函数&#xff0c;用于在一个字符串中查找另一个字符串的出现位置。 它的函数原型如下&#xff1a; char *strstr(const char *haystack, const char *needle); 在这个函数中&#xff0c;haystack表示被搜索的字符串&#xff0c;…

【MHA】MySQL高可用MHA介绍2-安装,配置,要求与限制

目录 一 快速开始 简单故障转移 1 构建普通的复制环境 2 在host1-host4上安装MHA Node 3 在host4(manager_host)上安装MHA Manager 4 创建配置文件 5 检查SSH连接 6 检查复制配置 7 启动manager 8 检查manager状态 9 停止manager 10 测试主故障转移 11 下一步 二…

Vue3的新组件<Suspense>

在 Vue 3 中&#xff0c;你可以使用 <Suspense> 组件来包裹异步组件&#xff0c;从而提供一个更好的用户体验&#xff0c;包括在组件加载时的占位符和加载失败时的错误提示。<Suspense> 是 Vue 3 提供的一个新特性&#xff0c;允许你指定加载异步组件时的默认内容和…