目录
一些概念
随机森林(Random Forest):每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。
决策树:
图片来源于决策树 - 小小猎魔人 - 博客园
过拟合
指的是模型的训练结果“太好了”,以至于在实际应用的过程中,会存在“死板”的情况,导致分类错误。
欠拟合
指的是模型的训练结果不理想。
造成过拟合的原因:
一是因为训练集中样本量较小。如果决策树选择的属性过多,构造出来的决策树一定能够“完美”地把训练集中的样本分类,但是这样就会把训练集中一些数据的特点当成所有数据的特点,但这个特点不一定是全部数据的特点,这就使得这个决策树在真实的数据分类中出现错误,也就是模型的“泛化能力”差。
逻辑回归(LR)
简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性
线性回归
回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值也随之发生变化。回归模型正是表示从输入变量到输出变量之间映射的函数
人工智能与深度学习关系
深度学习是机器学习的一种,而机器学习又是深度学习的一种
机器学习直接来源于早期的人工智能领域,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。
最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。
目前存在以下问题:
1. 深度学习模型需要大量的训练数据,才能展现出神奇的效果,但现实生活中往往会遇到小样本问题,此时深度学习方法无法入手,传统的机器学习方法就可以处理;
2. 深度学习的思想,来源于人脑的启发,但绝不是人脑的模拟,举个例子,给一个三四岁的小孩看一辆自行车之后,再见到哪怕外观完全不同的自行车,小孩也十有八九能做出那是一辆自行车的判断,也就是说,人类的学习过程往往不需要大规模的训练数据,而现在的深度学习方法显然不是对人脑的模拟。
神经网络
实际上,神经网络非常简单,就是多个神经元的堆叠,堆成了一种网状的拓扑结构,所以给它起了个通俗易懂的名字--神经网络
神经元
神经网络的基本组件就是神经元
神经元输入与权重相乘,再与偏置b相加,所得到的和z经过激活函数 处理,得到本级神经元的输出,这也是下一级神经元的输入
gpu的使用
每个神经元的基本运算是乘法和加法,即乘加运算,多个神经元加起来,就是大量的成加运算,这种特点非常适合具有大量乘加硬件计算单元的GPU来计算
激活函数
激活函数为神经网络引入非线性,一个典型的常用激活函数就是ReLU,其全称为修正线性单元,当输入小于等于0的时候,其输出为0,反之输出其输入
其实激活函数就是一个函数,比如上面那个ReLU,就是切掉一半的y=x
前馈计算
输入经过本级神经元处理得到输出并传向下一级神经元的计算过程
深度神经网络
如果隐藏层的层数很多,那么就称为多层神经网络,但是深度更能引起公众的注意和兴趣,所以才成为深度神经网络
当神经网络具有4层或者更多层的时候被称为深度神经网络
卷积神经网络
深度卷积神经网络具有强大的图像特征提取能力,为了表达方便,深度二字常常被省略,简称为卷积神经网络(CNN),表达的意思是具备多个卷积计算层的神经网络
图为卷积神经网络从做到右一次提取图像的一部分特征值,特征经过层层提取由最后一层神经网络进行分类,最终输出图像中的物体类型的概率值
简单的说,可以直观的将卷积神经网络想象成一层层的滤波器,每层滤波器提取出处图像不同的特征
目标检测
对于应用者来说,可以将目标检测算法理解为一个黑盒子,输入是图像,输出是图像中物体的类别、置信度和位置
目标检测的任务是分类和定位,评价标准有IoU、mAP、FPS
IoU:交并比,检测结果与真实结果的交集比上他们的并集,也就是准确度
mAP:平均精度均值
FPS:评价目标检测速度的常用指标
传统目标检测与深度学习目标检测算法的区别
传统目标检测算法需要手动设计特征提取其,而深度学习目标检测算法由深度卷积神经网络实现自动特征提取
迁移学习
训练深度学习模型依赖大数据
AlexNet有57000000个参数需要训练,要将如此多的参数训练出来,需要上万甚至十万百万以上的数据,即大数据另外需要与之相匹配的超强算力,即云计算
AI必备三要素:深度学习算法、云计算、大数据
迁移学习
如果有一个已经在大规模数据集上训练好的模型,将改模型学习到的知识迁移到另一个模型,即保留特征提取器不变,在具有相似特征的新的数据集上重新训练分类器,由于特征提取器不用在训练了,大大减少了需要训练的参数个数,这样只需要小数据就行了。
直白一点来说,就是先下载别人已经训练好的模型,然后基于这个模型做深度学习训练, 比如别人在coco数据集上训练好了识别猫、狗、马、的目标检测模型,然后自己计划做一个老虎和豹子的检测模型,则只需要先下载这个训练好的检测模型,并在此基础上用小数据(几百张图片)就可以把老虎和豹子的检测模型训练出来。
TensorFlow预训练模型库