-
机器学习系列18丨决策树算法(二)
一.剪枝的介绍1.为什么剪枝?如上图所示,我们看到随着树的增长,在训练样集上的精度是单调上升的,然而在独立的测试样例上测出的精度先上升后下降。出现这种情况的原因是: 噪声、样本冲突,即错误的样本数据。 特征即属性不能完全作为分类标准。 巧合的规律性,数据量不够大。 2.常用的剪枝方法预剪枝在构建树的过程中,同时剪枝。比如:(1)限制每一个结点所包含的最小样本数目,例如10,则该结点总样本数小于10时,则不再分;(2)指定树的高度或者深度,例如树的最大...…
-
机器学习系列17丨ID3、C4.5两种算法的比较
1.解释ID3、C4.5这两种算法的特点?为什么使用C4.5要好?2.参考文章 《机器学习》周志华 p73–p79 C4.5算法详解https://blog.csdn.net/zjsghww/article/details/51638126 ID3和C4.5的区别https://blog.csdn.net/Neo_226/article/details/48156679 …
-
机器学习系列16丨决策树算法(一)
一.介绍1.定义决策树:是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树。2.熵的相关介绍熵用于衡量一个对象的有序程序。系统越有序,熵值越低;系统越混乱或者分散,熵值越高。信息熵1.从信息完整性上进行的描述:当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散的地方熵值越大。2.从信息的有序性上进行的描述:当数据量一致时,系统越有序,熵值越低。系统越混乱或者分散,熵值越高。3.把信...…
-
机器学习系列15丨逻辑回归
一.逻辑回归介绍1.逻辑回归是什么逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广泛。2.逻辑回归应用场景是解决二分类问题的利器,具体场景如下: 广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账号3.逻辑回归的原理3.1 输入逻辑回归的输入就是线性回归的输出。3.2 激活函数把整体的值映射到[0,1],再设置一个阈值,进行分类判断。...…
-
机器学习系列14丨线性回归(二)
一.线性回归api介绍1.通过正规方程优化 sklearn.linear_model.LinearRegression(fit_intercept=True) 通过正规方程优化 fit_intercept:是否计算偏置 LinearRegression.coef_:回归系数 LinearRegression.intercept_:偏置 代码演示:# 数据集from sklearn.datasets import load_...…
-
机器学习系列13丨线性回归(一)
一.线性回归(Linear regression)概述1.定义是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。2.特点只有一个自变量的情况称为单变量回归,多余一个自变量的情况叫做多元回归。3.公式4.分类: 线性关系 单变量线性关系 多变量线性关系 非线性关系二.线性回归API初步使用1.线性回归api2.代码演示# 导入模块from sklearn.linear_model import Li...…
-
机器学习系列12丨交叉验证和网格搜索
一.交叉验证1.定义将拿到的训练数据,分为训练和验证集。如果我们将数据分成4份,其中一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集,即得到4组模型的结果,即平均值作为最终结果,又称4折交叉验证。当然可以按照实际需求来划分份数。2.分割方式为了让训练得到模型结果更加准确,我们可以做如下处理。训练集:训练集+验证集测试集:测试集3.交叉验证目的:为了让被评估的模型更加准确可信,而不是提高模型准确率二.网格搜索(Grid Search)1.定义一般来说,有很多参数需要手动指定(...…
-
机器学习系列11丨特征工程_特征预处理
一.什么是特征预处理1.定义通过一些转换函数将特征数据转换成更加合适算法模型的特征数据过程。2.为什么要进行归一化、标准化?特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,是的一些算法无法学习到其他特征。3.包含的内容:归一化和标准化4.特征预处理APIsklearn.preprocessing二.归一化1.定义通过对原始数据进行变换把数据映射到(默认为[0,1])之间2.公式作用于每一列,max为一列的最大值,min为一列的的最小值,...…
-
机器学习系列10丨常用数据集以及scikit-learn中数据集介绍
一.常用数据集1.Kagglehttps://www.kaggle.com/detasets特点: 大数据竞赛平台 80万科学家 真实数据 数据量巨大2.UCIhttp://archive.ics.uci.edu/ml特点: 1.收录了360个数据集 2.覆盖科学、生活、经济等领域 3.数据量几十万3.scikit-learnhttps://scikit-learn.org/stable/特点: 数据量小 方便学习二.scikit-learn数据集API介绍sklearn...…
-
机器学习系列09丨K-近邻算法
一.概述1.定义:K-近邻算法,也叫KNN算法,是一种分类算法。指的是如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。通俗的说就是根据你的“邻居”来判断你属于哪个类别。2.实现流程 计算已知类别数据集中的点与当前点之间的距离 按距离递增次序排序 选取与当前点距离最小的k个点 统计前k个点所在的类别出现的频率 返回前k个点出现频率最高的类别作为当前点的预测分类3.距离公式如何计算你到你的“邻居”的距离 一般使用欧氏...…
-
机器学习系列08丨特征工程_特征提取
一.特征提取介绍1.什么是特征提取?将任意数据(如文本或图像)转换为可用于机器学习的数字特征注:特征值化是为了计算机更好的去理解数据2.特征提取分类: 字典特征提取(特征离散化) 文本特征提取 图像特征提取 3.特征提取APIsklearn.feature_extraction二.字典特征介绍与应用1.API介绍作用:对字典数据进行特征值化sparse矩阵有两个好处:1.节省内存 2.提高读取效率sklearn.feature_extraction....…
-
VS Code系列04丨Windows配置C语言的开发环境
一.下载安装MinGW编译器C/C++的编译器有很多种,这里选择开源的MinGW编译器,浏览器搜索下载。点击https://sourceforge.net/projects/mingw-w64/,下拉找到在线安装方式,下载exe文件。双击打开mingw-w64-install.exe,如下图所示点击下一步,选择安装信息安装信息说明 Version: 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。最高版本是8.1.0 ,选中它即可 Archit...…
-
NLP学习系列07丨文本情感分析
一、文档情感分类1.什么是情感分析所谓情感分析,就是指我们要针对一段文本来判断这段文本的文字“色彩”,到底是褒义,还是贬义,到底是抒发了什么情感。文本情感分析是一个非常实用的工具,比如,我们需要分析用户对于商品的评价带有什么样的情感,从而能够更好地为商品的推荐和搜索结果服务。再比如,通过文本的情感分析,我 们可以了解到用户针对某一个时事的观点异同,以及观点分歧在什么地方,从而能够更加清晰地了解新闻的舆情动态。2.基于监督学习的文档情感分类文档情感分类属于文本情感分析中最基本的一种任务。这种...…
-
NLP学习系列06丨对话系统
一、对话系统概述1.浅析对话系统早期的对话系统多是基于“规则”(Rule)的系统。这些系统的一大特征就是,并不只是真正的去“理解”对话,“理解”文字,而是针对某一种模式,或者说是预定好的模板,对对话进行简单的模仿。不过,如果你认为这样基于规则的系统在今天的对话系统中毫无用武之地的话,那就大错特错了。实际上,通过机器学习的手段辅以规则的方式,这样的系统能够在绝大多数的场景下表现出惊人的水平。很多机器学习背景的工程师在接触对话系统研发的时候,其实往往有轻视规则系统的这种情况。从基于统计学习的机...…
-
NLP学习系列05丨RNN基础机构
一、传统机器学习中的序列模型在传统的机器学习领域当然有不少模型是针对序列进行建模的。最经典的要数“隐马尔科夫 模型”(Hidden Markov Model),有时候又简称为 HMM。在比较长的一段时间里, HMM 都是常用的对序列建模的缺省(Default)模型。HMM 的一个最基本的假设是:当前的序列数据是根据一些隐含的状态产生的。具体来 说,HMM 的架构是这样的。我们认为每个时间点都有一个对应的隐含状态。这个隐含状态只与当前这个时间点之前的时间点所对应的隐含状态有关联。更加简单的假...…
-
NLP学习系列04丨Word2Vec算法
一、Word2Vec模型摘要Word2Vec 是一种语言模型,主要是根据当前的语境,来预测下一个单词出现的概率。而语言模型本身其实是一个离散分布模型。什么是语言模型?语言模型就是针对某一个词库(这里其实就是一个语言的所有单词),然后在某种语境下,产生下一个单词的模型。语言模型是一个产生式模型,而且这个产生式模型是产生单词这一离散数据的。Word2Vec 的核心思想是,当前的单词是从周边单词的隐含表达,或者说是词向量中产生 的。也就是说,每一个单词都依赖于上下文,而这个单词的产生,并不是直接...…
-
NLP学习系列03丨基础文本分析模型
一、基础文本分析模型之一:隐语义分析1.隐语义分析的背景对于数据挖掘而言,文本数据算是大规模数据中,研究人员最早接触到的一类数据了。长久以来,大家都有一种直观的想法,那就是在这些看似没有头绪的文字中,究竟有没有隐含着某些规律呢?我们到底能不能从文字中提取出一些更加有用的结构性的内容呢?对于文本分析,有一类是基于“显式”的标签来进行的。也就是说,我们可以把文本分析当作是监督学习的任务来看待。这一类文本分析的一大特点,往往是针对某一种任务建立分类器,然后对不同类别的文本进行鉴别,从而达到更加深...…
-
NLP学习系列02丨LDA模型
一、什么是LDALDA(Latent Dirichlet Allocation)是文本挖掘(Text Mining)中的重要工具。在文本挖掘中,有一项重要的工作就是分析和挖掘出文本中隐含的结构信息,而不依赖任何提前标注(Labeled)的信息。也就是说,我们希望能够利用文本挖掘技术来对无标签的数据进行挖掘,这是典型的无监督学习。LDA 就是一个出色的无监督学习的文本挖掘模型。这个模型在过去的十年里开启了主题模型(Topic Model)这个领域。不少学者都利用 LDA 来分析各式各样的文档...…
-
ESH系列06丨工业文本行识别用例
全文字数770,预计阅读3min 一、用例介绍工业文本行识别用例使用深度学习技术从打印的文本行中识别字符,通过使用 CNN + LSTM + CTC 和 OpenVINO工具套件优化的计算机视觉算法检测和识别工业场景中印刷文本行的字符。例如产品序列号识别和过期日期检测,用于产品跟踪和包装缺陷检测等等。二、效果展示下图为包含工业文本行的原信息图片下图为该用例对原信息的识别结果,可以正确的识别文本行信息三、工作原理首先呢,我们把摄像头采集到的工业文本行数据进行...…
-
OpenVINO系列28丨Dockerfile实现OpenVINO的demo编译
一.源码编译benchmark_appDockerfile编写如下,先build一个ubuntu镜像,拉取github仓库上的openvino代码,然后进行源码编译,接着安装GPU相关的环境包,最后把benchmark_app依赖的库文件,和GPU相关环境拷贝到新建的ubuntu环境目录/usr/local中。FROM ubuntu:20.04 AS builderWORKDIR /home# workaround blocking by updating tzdataENV TZ=Asi...…