码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CS231n课程笔记:Leture2 Image Classification


     Memorize all data and labels

    1. def train(images, label):
    2. return model

    Predict the label of the most similar training image

    1. def predict(mdoel, test_images):
    2. return test_labels

    L1 distance:

    L2 distance: 

     

    codes for Nearest Neighbor classifier

    1. import numpy as np
    2. class NearestNeighbor:
    3. def __init__(self):
    4. pass
    5. def train(self, X, y):
    6. self.Xtr = X
    7. self.ytr = y
    8. def predict(self, x):
    9. num_test = X.shape[0]
    10. Ypred = np.zeros(num_test, dtype = self.ytr.dtype)
    11. for i in xrange(num_test):
    12. distances = np.sum(np.abs(self.Xtr - X[i, :]), axis = 1)
    13. min_index = np.argmin(distances)
    14. Ypred[i] = self.ytr[min_index]
    15. return Ypred

    Q:with N examples how fast are training and prediction

    A: Train O(1) predictO(N)(要和数据集中的每一个去比较)

     

     

     在训练集中选择不同的超参数来训练我们的算法  在验证集上进行评估 在验证集上表现最好的超参数集 

    cross validation

    KNN的缺点 

    Very slow at test time

    Distance metrics on pixels are not informative

    Curse of dimensionality

    所以什么是一个比较好测量图像之间距离的方法

    Linear Classification

    总结我们对训练数据的知识 and stick all that knowledge into W(PARAMENTERS)

    然后在测试的时候 我们不再需要训练数据 只需要这些参数w

    如果我们的图像size 是 32*32*3 然后我们把它展开成3072*1的向量 如果我们想要得到10*1的class scores 我们就需要乘以10*3072的参数矩阵 有时候我们也会加上一个10*1 的bias

    举例说明

     所以 linear classification 可以看作是 template matching approach 矩阵中的每一行对应图像的某个板块

    如果我们用这种方法看待linear classification 我们实际可以获取该权重矩阵的行 并将他们分解回图像 and visualize those templates as images

    我们现在可以可视化与cifar-10中十个类别中的每一个相对应的学习权重矩阵中的那些行

     但是线性分类器只能为每一个类学习一个模板

     我们可以把image 看作是高维空间中的一个点 然后线性分类器正在放入这些线性决策边界 来尝试分类

     问题来了

    如何选择正确的W 下节讲~

  • 相关阅读:
    【云原生之k8s】K8s 管理工具 kubectl 详解(一)
    基于DBC Signal Group生成Autosar SR接口(1)
    代码随想录算法训练营第五十九天 | 647. 回文子串、516.最长回文子序列
    C语言之指针、结构体、动态内存分配
    私有云也想要cdn加速服务怎么办?
    Java开发者的Python进修指南:JSON利器之官方json库、demjson和orjson的实用指南
    数据结构和算法是人工智能的基石
    VBA技术资料MF65:将十六进制值转换为RGB颜色代码
    数据结构:队列
    千兆光模块和万兆光模块需要注意哪些事项
  • 原文地址:https://blog.csdn.net/m0_53292725/article/details/126905407
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号