目录
一、神经网络简介
神经网络是一种有监督的机器学习算法,神经网络当成一种特征提取的方法,神经网络追求是什么样的的权重参数适合当前任务。
二、深度学习要解决的问题
机器学习流程:数据获取,特征工程,建立模型,评估与应用。最重要的是特征工程,前面学了那么多算法,归根到底,模型都是根据特征来进行训练。
特征工程的作用:
数据特征决定了模型的上限。
预处理和特征提取是最核心的。
算法和参数决定了如何去逼近这个上限。
机器学习问题:人工选择数据,人工选择特征,人工选择算法,人工选择结果。(说白了就是实现了数学公式)
深度学习,神经网络:解决了特征工程的问题
对于文本,图像数据去提取特征难,放在深度学习,神经网络里,就很好解决。
可以把深度学习,神经网络当作一个黑盒子,它能自动的去提取特征(它认为的最合适的特特征)它是真正有学习过程的,它可以真正的去学习什么样的特征是最合适的,有了特征,当成输入+线性回归、逻辑回归、SVM等等都行。
三、深度学习的应用
最常见、最广泛的应用是计算机视觉(人脸识别等)、自然语言处理(ChatGpt)。
那么是否也存在缺点呢?看如下图
随着数据规模的提升,计算量太大,参数多,速度慢,比如手机端人脸识别,会出现识别延时的现象。
提一下数据生成:对于庞大的训练数据,数值数据可以采用一些数学工具包生成,对于图像数据可以对图像进行翻转、镜面变换、平移等等,容易得到。
四、计算机视觉
最经典的图像分类任务。我们看看在计算机里图像是怎么表示的吧。
例如:一张300*100*3的猫咪图像 300:High 100:wight 3:三个颜色通道RGB
它是由一个一个像素点组成的,每个像素点的值0~255,值越大颜色越浅。它被表示为三维数组的形式。
用数值形式表示如:
五、计算机视觉面临的挑战
拍摄图像有照射角度,形状改变,部分遮蔽,背景混入的现象。
机器学习的常规套路:
收集数据并给定标签
训练一个分类器
测试评估
我们用KNN算法来做图像分类任务
K近邻算法:算法流程
1. 计算以知类别数据集中的所有点与当前的距离
2. 按照距离依次排序
3. 选取与前点距离最小的K个点
4. 确定前K个点所在类别的概率
5. 返回前K个点出现的频率最高的类别作为当前点预测分类
数据集:CIFAR-10数据库,10类标签,5000个训练数据,10000个测试数据,大小为32*32*3
用KNN来进行图像分类
距离的选择:L1 distance : (像素点对应相减)
图像距离计算方式:
一个栗子:
测试结果:部分还可以,没有分类对的图像,问题出现在哪里???
为什么K近邻算法不能用图像分类:
我们关注的是