当前课程知识点:小白学人工智能 > 三、猫狗大战之KNN分类 > 3.2 猫狗大战,xy好找吗 > 猫狗大战,xy好找吗
完了吗?
刚才计小白用生活中案例解释knn的概念
接下来我们还要体验knn的应用案例
我以前看过一个科幻片
不知道你看过没有
那就是猫狗大战
猫狗既然是甲乙双方
那当然要拉更多的队友和同盟进来
为了避免让对方的队员和同盟混进自己的队伍
一定要先来猫狗分类
你可能会说判断猫和狗很简单啊
可是我们要让电脑来自动判别
我们登录这个网址
先批量上传猫的照片 300张
每个猫的照片旁边有个波形图
照片不同 波形图也不同
好 折叠这300张图
再批量上传狗的照片
也是300张
同样 每张狗的照片的旁边
也有一个波形图
照片不同 波形图也不同
继续折叠这300张狗图
在测试这里
K设置为11
我们拿一张狼的照片作测试
你觉得狼是猫的同盟还是狗的同盟啊?
来看看测试结果
(结果是)类别二 也就是狗的同盟
这里我们看到 类别二 狗的概率是0.81
类别一 猫的概率是0.18
再看看这11个最接近的照片
里面有两张猫的照片
2除以11
就是等于0.18
那熊猫呢
嗯 (结果是)类别一
猫 为0.81的概率
同样
11张照片里
也有两张狗的照片
好 我们来看看这个猫狗大战又是如何实现的
也是KNN
对每一张样本图片
利用MobileNetV1模型计算1000维特征值
然后同样在KNN算法中
利用欧氏距离公式 计算样本的距离
KNN的分类效果 和样本的选择有很大的关系
换一个猫狗的样本
刚才那张狼照片的判断结果就变了
不再是狗同盟
而变为猫同盟
我们来看看吧
重新上传样本 分别是20张猫的图片和20张狗的图片
把k设置为5
重新测试刚才那张狼照片的分类
结果不再是类别2 狗 而是类别1 猫
5张最相近照片中 有四张是猫 有一张是狗
也就是说样本的选择对knn分类效果影响很大
好 既然可以猫狗大战 那是否可以男女大战呢
我之前的小白班有一个男班长 一个女班长
我让男班长收集男生照片 女班长收集女生照片
来看下他们的男女大战结果吧
先上传男生照片12张
哦 天啊 这男班长也是煞费苦心啊
然后上传女生照片12张
估计这女班长也是费了不少心思啊
再然后 用男女班长两个的照片分别来测试
类别1是男生 类别2是女生
男班长测试结果居然是类别2 是女生
再来看看女班长的测试结果
不出所料 类别1男生 相互陷害成功
还有其他小白们准备测试样本的好玩镜头
当然 也有一些遗憾
这位老师在男女大战中k取值为
是的 他取了k=35
取得过大了
测试结果也说明
如果取为5 他们这组在男女大战中就赢了
嗯 很多小白都有这个疑惑
K值的选择 还是要有经验的
比如分为两个类时
K就不要取为偶数 怕有平手的情况
然后呢 有种方法是通过验证集的交叉验证来选取合适的K值
有兴趣的小白们可以上网去学习学习
猫狗大战 男女大战中f(x)=y的表达式描述可以是这样的
我们再写的概括一些 又变成了这样
在对需要分类样本分析前
需要人为选择特征表示方式
距离设定方式 K值
这些的人为选择被称为超参数
另外说明一下
这里的f(x)=y的等号不是数学计算中的等号
也就是完全相等的意思
而是“判断为”的意思
例如f(“王后”)=”女人”
输入“王后” f判断为“女人”
让我们来回顾下这节内容
在这节中我们介绍了经典的KNN算法
K-NN其实就是几个原则
物以类聚 人以群分
还有少数服从多数
KNN分类的原理在于
把已经分类或需要分类的样本在定义的特征空间上表征
例如MFCC的13个特征 MobileNetV1模型的1000个特征等
需要分类的样本选择特征空间上和自己最邻近的K个样本
例如欧氏距离 L1距离等
需要分类的样本的类别就是这K个样本中最多的那个类别
这里小白们还知道了特征 特征空间 超参数等等
最后来问你一下
你见到一个动物照片
要判断是猫还是狗
你是把这张照片和以前你看到的猫狗照片一一比较吗
当然不是啦
你是用以前看到过的猫狗照片总结的东西来判断这张照片是猫还是狗
这就是我们接下来更为有趣的环节-深度学习环节
继续加油
-1.1 人工智能能做什么?
--人工智能能做什么
--课后作业
-1.2 人工智能案例——智能小恐龙
-2.1 学习人工智能就是学习f(x)=y
--课后作业
-2.2 f难找吗
--声控小恐龙的f
--课后作业
-2.3 聊聊线性(f)和非线性(f)
--课后作业
-3.1 初识KNN
--初识KNN
--课后作业
-3.2 猫狗大战,xy好找吗
--课后习题
-4.1 初识神经网络
--初识神经网络
-4.2 如此重要的感知器
--如此重要的感知器
--课后作业
-4.3 神经网络和西瓜
--神经网络和西瓜
--课后作业
-5.1 深度学习和做粤菜
--深度学习和做粤菜
-5.2 手写数字识别案例
--手写数字识别案例
-5.3 网络参数的计算
--网络参数的计算
-5.4 再聊激活函数
--再聊激活函数
-5.5 梯度下降
--梯度下降
-5.6 反向传播
--反向传播
-5.7 欠拟合和过拟合
--欠拟合和过拟合
-5.8 代码和小结
--代码和小结