CS231n课程笔记--图像分类

图像分类

图像分类的任务,就是对于一个给定的图像,预测它属于的那个分类标签。RGB图像是三维数组,数组元素是取值范围从0到255的整数。

一些具体的分类方法

数据驱动方法

我们采取的这种方法和教小孩看图识物类似,就是给计算机很多数据,然后实现学习算法,让计算机学习到每个类的外形,因此该方法的第一步就是收集已经做好分类标注的图片来作为训练集,比如 如下图:

这里写图片描述

流程

图像分类就是输入一个元素为像素值的数组,然后给它分配一个分类标签,完整流程如下:

输入

输入是包含N个图像的集合,每个图像的标签是K种分类标签的一种。这个集合称为训练集。

学习

这一步的任务是使用训练集来学习每个类到底长什么样。一般该步骤叫做训练分类器或者学习一个模型。

评价

让分类器来预测它从未曾见过的图像的分类标签,并以此来评价分类器的质量。

分类器

Nearest Neighbor分类器

这里写图片描述

import numpy as np

class NearestNeighbor(object):
  def __init__(self):
    pass

  def train(self, X, y):
    """ X is N x D where each row is an example. Y is 1-dimension of size N """
    self.Xtr = X
    self.ytr = y

  def predict(self, X):
    """ X is N x D where each row is an example we wish to predict label for """
    num_test = X.shape[0]
    Ypred = np.zeros(num_test, dtype = self.ytr.dtype)

    for i in xrange(num_test):
      distances = np.sum(np.abs(self.Xtr - X[i,:]), axis = 1)
      min_index = np.argmin(distances) # get the index with smallest distance
      Ypred[i] = self.ytr[min_index] # predict the label of the nearest example

    return Ypred
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值