人工智能
文章平均质量分 64
人工智能的发展迅速,尤其是在CNN卷积神经网络的出现后,图像识别能力大大增强,识别准确度不断提高,适用范围不断增加。
Dunkle.T
所有原创文章禁止直接转载,谢谢。
展开
-
深度学习——卷积神经网络
卷积神经网络CNN由纽约大学的Yann Lecun于1998年提出,其本质是一个多层感知机,成功的原因在于其所采用的局部连接和权值共享的方式:一方面减少了权值的数量使得网络易于优化另一方面降低了模型的复杂度,也就是减小了过拟合的风险该优点在网络的输入是图像时表现的更为明显,使得图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建的过程,在二维图像的处理过程中有很大的优势。如网络能够自行抽取图像的特征包括颜色、纹理、形状及图像的拓扑结构。在处理二维图像上,特别是识别位移、缩放原创 2021-04-13 00:29:54 · 5293 阅读 · 1 评论 -
深度学习——基础知识
深度学习是机器学习的一部分,机器学习又是人工智能的一部分。人工智能是让机器能够模仿人类行为的技术。人工智能的实现方法有很多,专家系统,数学建模,等一系列能够解决问题的都叫做人工智能AI。机器学习是一种通过数据训练实现AI的技术。机器学习与深度学习的主要区别在于特征的选取,机器学习的特征是已知的,经过算法处理,从中得到特征之间的规律就是机器学习的主要内容。深度学习是一种受人脑结构启发(人工神经网络)的机器学习。医学研究发现人脑认识事物是将看到的事物经过多层的抽象得到结果的,因此深度学习也通过多层“神.原创 2021-04-10 15:10:50 · 809 阅读 · 0 评论 -
深度学习——Batch Normalization
Batch Normalization的目的是使我们的一批(Batch)feature map(特征矩阵 )满足均值为0,方差为1的分布规律。常见的迁移学习方式:1、载入权重后训练所有参数2、载入权重后只训练最后几层参数3、载入权重后在原网络基础上再添加一层全连接层,仅训练最后一个全连接层...原创 2021-04-07 17:50:28 · 269 阅读 · 0 评论 -
深度学习——DenseNet 121
简介:DenseNet(Dense Convolutional Network)稠密卷积网络CVPR2017的优秀文章从feature入手,通过对feature的极致利用达到更好的效果和更少的参数。优点:减轻了vanishing-gradient(梯度消失)加强了feature的传递更有效地利用了feature一定程度上较少了参数数量...原创 2021-04-06 23:18:15 · 10070 阅读 · 0 评论 -
深度学习——SqueezeNet
从名字SqueezeNet就知道,本文的新意是squeeze,squeeze在SqueezeNet中表示一个squeeze层,该层采用1*1卷积核对上一层feature map进行卷积,主要目的是减少feature map的维数(维数即通道数,就是一个立方体的feature map,切成一片一片的,一共有几片)。...原创 2021-04-06 23:17:11 · 239 阅读 · 0 评论 -
深度学习——ResNet18 / 34
ResNet在2015年由微软实验室提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。ResNet34层模型的结构简图:ResNet网络中的亮点:超深的网络结构(突破1000层)提出residual模块(残差结构)使用Batch Normalization加速训练(丢弃dropout)在ResNet网络提出之前,传统的卷积神经网络都是通过将一系列卷积层与下采样层进行堆叠得到的。但是当堆叠到一定网络深度时,就会出现两个问题原创 2021-04-06 23:16:19 · 26390 阅读 · 0 评论 -
深度学习——AlexNet
AlexNet:2012年ILSVRC比赛冠军,远超第二名的CNN,分类准确率由传统的70%+提升到80%+。比LeNet更深,用多层小卷积叠加来替换单个的大卷积。该网络的亮点在于:(1)首次利用GPU进行网络加速训练。(2)使用了ReLU激活函数,而不是传统的sigmoid激活函数以及Tanh激活函数。(3)使用了LRN局部响应归一化。(4)在全连接层的前两层中使用了Dropout随机失活神经元操作,以减少过拟合。使用Dropout的方式在网络正向传播过程中随机失活一部分神经元经卷积后的原创 2021-04-06 23:12:03 · 389 阅读 · 0 评论 -
机器学习——数据探索大致流程
什么是EDA在拿到数据后,首先要进行的是数据探索性分析(Exploratory Data Analysis),它可以有效的帮助我们熟悉数据集、了解数据集。初步分析变量间的相互关系以及变量与预测值之间的关系,并且对数据进行初步处理,如:数据的异常和缺失处理等,以便使数据集的结构和特征让接下来的预测问题更加可靠。并且对数据的探索分析还可以:1.获得有关数据清理的宝贵灵感(缺失值处理,特征降维…)2.获得特征工程的启发3.获得对数据集的感性认识意义:数据决定了问题能够被解决的最大上限,而模型只决定原创 2021-04-05 18:22:42 · 1365 阅读 · 0 评论 -
机器学习——支持向量机SVM
概述支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。从实际应用来看SVM在各种实际问题中都表现非常优秀。它在手写识别数字和人脸识别中应用广泛,在文本和超文本的分类中举足轻重。同时,SVM也被用来执行图像的分类,并用于图像分割系统。除此之外,生物学和许多其他科学都是SVM的青睐者,SVM现在已经广泛被用于蛋白质分类,现代化合物分类的业界平均水平可以达到90%以上的准确率。在生物科学的尖端研究中,人们还使用支持向量机来识别用于模型预测的各种特征,以找出各种基因表现结果原创 2021-04-05 18:14:45 · 952 阅读 · 0 评论 -
机器学习——lightGBM
lightGBM微软出品的集成学习算法优点:对xgboost进行了优化非常快的训练速度非常低的内存消耗非常高的准确率并发和支持GPU加速能直接处理缺失值能处理庞大体量的数据环境安装:conda install lightgbmfit其他参数重要属性最优的迭代次数时进行预测:num_iteration参数重要模型参数subsamplelearning_rateboosting_type:‘gbdt’, traditional Gradie原创 2021-04-05 17:41:29 · 188 阅读 · 0 评论 -
机器学习D15——xgboost
xgboost简介XGBoost全称是eXtreme Gradient Boosting,可译为极限梯度提升算法。由陈天奇设计,致力于让提升树突破自身的计算极限,以实现运算快速,性能优秀的工程目标。和传统的梯度提升算法相比,XGBoost进行了许多的改进,并且已经被认为是在分类和回归问题上都拥有超高性能的先进评估器。在各平台的比赛中、高科技行业和数据咨询等行业也已经开始逐步使用XGBoost,了解这个算法,已经成为学习机器学习中必要的一环。性能超强的算法往往有着复杂的原理,XGBoost也不能免俗,因原创 2021-04-04 20:57:12 · 346 阅读 · 0 评论 -
机器学习D14——随机森林
随机森林:是bagging装袋法的代表。弱学习器只可以是决策树简介:随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法。随机森林非常简单,易于实现,计算开销也很小,在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为“代表集成学习技术水平的方法”。随机森林的随机性体现在两个芳年1.数据集的随机选择从原始数据集中采取《有放回的抽样bagging》,构造子数据集,子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。原创 2021-04-04 17:53:38 · 2238 阅读 · 0 评论 -
机器学习D13——集成学习
集成学习集成学习(ensemble learning)是当前非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。集成算法的目标集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。在机器学习的众多算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型(弱评估器,基评估器),在某些方面表现的比较原创 2021-04-04 01:01:25 · 146 阅读 · 0 评论 -
机器学习D12——决策树
认识决策树决策树(Decision Tree)是一种有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策(基于分类或者回归)规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业领域都有广泛的应用。决策树是如何工作的。决策树算法的本质是一种树结构【不是二叉树】,我们只需要问一系列的问题就可以对数据进行分类了。我们现在的目标是,将动物们分为哺乳类和非哺乳类。那根原创 2021-04-03 15:58:52 · 1316 阅读 · 0 评论 -
机器学习D11——分类模型的评价指标
混淆矩阵概念:在分类任务下,预测结果(Predict Condition)和真实结果(True Condition)之间存在的四种不同的组合。适用于二分类和多分类一个二分类的场景真实结果的正例:猫真实结果的假例:非猫预测结果的正例:猫预测结果的假例:非猫注意:非猫并不一定指的是狗!真正例(TP):本来是猫结果预测值为猫的比例伪正例(FP):本来不是猫结果预测值为猫的比例伪反例(FN):本来是猫结果预测值为不是猫的比例真反例(TN):本来不是猫结果预测值为不是猫的比例真正原创 2021-04-02 15:24:18 · 363 阅读 · 0 评论 -
机器学习D10——WOE和IV编码
概述WOE和IV通常是用在模型特征筛选的。IV和WOE能够帮助我们衡量什么变量应该进入模型,什么变量应该舍弃。用IV和WOE的值来进行判断,值越大就表示该特征的预测能力越强,则该特征应该加入到模型的训练中。应用1、变量筛选。我们需要选择重要的变量加入模型,预测强度就可以作为我们判断变量是否重要的一个依据。2、指导变量离散化。在建模过程中,时常需要对连续变量进行离散化处理,如年龄分段。但变量的不同离散化结果(如:年龄分为[0-20]还是[0-15])会对模型产生不同的影响。因此,可以根据指标反应的预原创 2021-04-02 00:36:07 · 3572 阅读 · 6 评论 -
机器学习D9——逻辑回归分类
逻辑回归之前我们已经接触过相关的回归模型了,我们知道回归模型是用来处理和预测连续型数据的算法。然而逻辑回归是一种命名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用余分裂问题中的广义回归算法。首先连续型的标签值可以使用线性回归得出,从而完成各种预测连续型变量的任务(比如预测产品销量,预测股价等)。回归模型也可以实现分类效果使用sigmod函数将线性回归的值转换到(0,1)之间,这个值就是分到设定类的概率。Sigmod函数我们可以通过引入sigmod函数,将线性方程z变换原创 2021-04-01 11:33:50 · 1981 阅读 · 0 评论 -
机器学习D8——朴素贝叶斯概率论
算法得出的结论永远不可能是100%确定的,更多的是根据样本判断出的一种可能性,而非是一种确定。我们通过模型算法的某些规定。来强行让算法为我们返回一个固定的分类结果。但很多时候我们也希望能够得到算法推断出结果的可能性概率。我们都希望使用真正的概率来衡量可能性,因此也就有了真正的概率算法:朴素贝叶斯。朴素贝叶斯是一种直接衡量标签和特征之间的概率关系的有监督学习算法,是一种专注分类的算法。朴素贝叶斯的算法根源就是基于概率论和数理统计的贝叶斯理论,因此它是根正苗红的概率模型。朴素贝叶斯只适用于特征之间是条件.原创 2021-03-30 17:03:38 · 460 阅读 · 0 评论 -
机器学习D7——过拟合和欠拟合
欠拟合:训练好的模型在训练集合测试集上表现的都非常不好。问题:训练好的模型在训练集上表现的预测效果很好,但是在测试集上却有很大的问题和误差是为什么?1、现在有天鹅的特征数据,模型学习到了有翅膀,嘴巴长的就是天鹅,这导致了鹦鹉等符合这两个特征的动物都被预测为天鹅。原因:模型学习到的天鹅的特征太少了,导致区分标准太粗糙,不能准确的识别出天鹅。2、更新了样本数据后,添加了一些特征,因为鹦鹉体形小,脖子短,不属于天鹅,但是黑天鹅因为颜色不是白色,没有被预测成天鹅。原因:现在模型学习到的特征原创 2021-03-28 17:27:01 · 160 阅读 · 0 评论 -
机器学习D6——线性回归
回归问题的判定目标值是连续的值,而分类问题的目标值是离散型的值。回归处理的问题为预测:预测房价销售额的预测设定贷款额度总结:上述案例中,可以根据事物的相关特征预测出对应的结果值线性回归在生活中的映射:生活案例【预测学生的期末成绩】:期末成绩的制定:0.7考试成绩+0.3平时成绩,则该例子中,特征值为考试成绩和平时成绩,目标值为总成绩。从此案例中大概可以感受到:回归算法预测出来的结果其实就是经过相关的算法计算出来的结果值!每一个特征需要有一个权重的占比,这个权重的占比明确.原创 2021-03-26 16:57:25 · 301 阅读 · 0 评论 -
机器学习D5——交叉验证
K折交叉验证目的:选出最为合适的模型超参数的取值,然后将超参数的值作用到模型的创建中。思想:将样本的训练数据交叉的拆分出不同的训练集和验证集,使用交叉拆分出的不同的训练集和验证集分别测试模型的精准度,然后求出精准度的均值就是此次交叉验证的结果。将交叉验证作用到不同的超参数中,选取出精准度最高的超参数作为模型创建的超参数即可!实现思路将数据集平均分割成K个等份使用1份数据作为测试数据,其余作为训练数据计算测试准确率使用不同的测试集,重复2、3步骤对准确率做平均,作为未知数据原创 2021-03-23 21:55:54 · 194 阅读 · 0 评论 -
机器学习D4——KNN分类原理介绍
KNN分类模型概念:简单地说,K-近邻算法采用测量不同特征值之间的距离方法进行分类(k-Nearest Neighbor,KNN)K值的作用欧几里得距离(Euclidean Distance)在scikit-learn苦中使用k-近邻算法knn基于鸢尾花分类实现流程分类问题:from sklearn.neighbors import KNeighborsClassifier鸢尾花分类的实现在knn中k的取值不同会直接导致分类结果的不同。n_beighbo原创 2021-03-23 20:12:27 · 388 阅读 · 0 评论 -
机器学习D3——数据集的拆分与获取
sklearn的数据集数据集划分数据集接口介绍数据集划分前提:机器学习就是从数据中自动分析获得规律,并利用规律对未知数据进行预测。换句话说,我们的模型一定是要经过样本数据对其进行训练,才可以对未知数据进行预测的。问题:我们得到数据后,是否将数据全部用来训练模型呢?当然不是!因为我们如果模型(数据的规律)都是从数据中得来的,那么该模型的性能评估如何进行呢?还是基于对原先的数据进行预测吗?可想不是的,如果模型对原先的数据进行预测,由于模型(数据的规律)本来就是从该数据中获取的,所以预测的精度原创 2021-03-22 16:55:02 · 574 阅读 · 0 评论 -
机器学习D2——特征工程
特征工程特征抽取目的:我们所采集到的样本中的特征数据往往很多时候为字符串或者其他类型的数据,我们知道电脑只能识别二进制数值型的数据,如果把字符串给电脑,电脑是看不懂的。机器学习的数据如果不是数值型的数据,它是识别不了的。效果演示:将字符串转换成数字字典特征抽取作用:对字典数据进行特征值化API:from sklearn.feature_extraction import DictVectorizerfit_transform(x):x为字典或者包含字典的的迭代器,返原创 2021-03-21 18:06:43 · 676 阅读 · 0 评论 -
机器学习D1——机器学习简介
机器学习:祖师爷:图灵测试人工智能和机器学习的区别:机器学习就是实现人工智能的一种手段。什么是机器学习:官方解释:机器学习就是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。名称解释:模型:算法模型,是一个特殊的对象,该算法模型中已经集成或者封装好了某种形式的方程或算法。(还没有求出解的方程)模型的作用:预测:可以通过方程或算法产生一个新的未知的数据/事物。分类:可以将一个未知归类的是为给其归属到一个已有的类群中。注意:算法模型对应的算法或者方程求出的解就原创 2021-03-19 20:00:40 · 138 阅读 · 0 评论 -
模型选择
通常模型的选择是一个Bias和Variance之间的权衡。选择的模型是使得这两种误差的和误差最小。训练集和测试集:训练集用于拟合曲线,测试集用于衡量模型好坏。仅仅使用一个训练集和测试集,在真正的测试集中会不见得非常好。因为测试集很可能有自己的Bias。解决方法是将训练集分成两部分,一部分是训练集,另一部分是验证集。训练集得出的模型在验证集上进行验证,选出最好的模型后,可以使用原来全部的训练集数据按选出的最好的模型再次进行训练,优化模型参数。这样一来数据反映整体的程度更高。但是不要把公共测试集考虑在原创 2021-02-28 21:08:08 · 209 阅读 · 0 评论 -
Bias 和 Variance
在测试集上error的来源Bias 和 Variance:Bias:偏离率,是指预测目标中心(多次的平均值,期望)与实际目标中心的偏离程度。Variance:方差,是每个样本值与全体样本值的平均数之差的平方值的平均数,用来评价各预测函数之间的离散程度。较大的Bias和较小的Variance被称为Underfitting(欠拟合)。较小的Bias和较大的Variance被称为Overfitting(过拟合)。如果不能很好的拟合训练集,则Bias大。Underfitting(欠拟合)。如果能很好的拟原创 2021-02-28 19:20:24 · 230 阅读 · 0 评论 -
Regularization——正则化
对损失函数添加一项λ(其值随意取)乘以所有权重求和的平方。这么做会使得权重值接近0。这样就能获得一个比较平滑的函数。b偏置的值与函数平滑度无关。w权重有关。原创 2021-02-28 14:34:56 · 95 阅读 · 0 评论 -
Gradient Descent梯度下降法
如果对权重进行穷举,计算损失值画出损失值图像,找到损失值最低点,这么做就太麻烦了。随机梯度下降法:随机选取一个初始值w0,计算该点的导数值,即损失函数对该点的微分值。原创 2021-02-28 13:27:45 · 116 阅读 · 0 评论 -
示例应用——宝可梦CP值预测
首先我们可以定义一个函数关系:例如:y=b+w·xcp(y是预测cp值,b是偏置,w是权重,xcp是原cp值)这样一来由不同的b,w值该类型的函数关系的所有可能情况就组成了一个函数集合,每一个函数都可以被称为Model模型,可记为f1,f2···有了函数集合,我们可以对函数进行评价,创建损失函数L,L的输入是函数集合中的一个函数,输出是这个函数的劣质程度。L(f) = L(w,b)=真实值减去预测值的平方求和(残差平方和)。选出L最小的函数。方法有了,接下来需要的就是输入数据xcp和真实值的数据。叫原创 2021-02-26 12:18:36 · 558 阅读 · 0 评论 -
机器学习的介绍
机器学习就是让机器自动找函式。 好多情况下人是无法对某些关系进行找函数的,我们借助计算机的强大算力,进行找函数关系,从而得到合适的函数关系对某一内容进行函数关系转换从而达到人工智能的目的。 这些函数关系的输入输出可以是语音和文字;图片与识别类别,游戏的下一步操作,以及对话内容。首先你得知道你想找什么函式:Regression:想要找的函式输出是一个数值。Binary Classifi原创 2021-02-24 16:56:30 · 266 阅读 · 0 评论