随笔分类 - 机器学习/深度学习
摘要:NLP基本技术之一:句法分析。本篇实现了基于概率上下文无关文法(PCFG)的统计句法分析,使用的算法是CYK算法。合适的数据结构、正确的回溯过程、语法树的构建,遇到的各种bug以及解决方法,这里都有循序渐进的记录过程。本篇记录详细步骤python实现使用CYK算法对上下无关文法(PCFG)的句法分析,通过核心算法讲解深入理解统计句法分析的思想并掌握具体算法代码实现,得到一个句子的语法树。
阅读全文
摘要:除了用jieba等分词词性标注工具,不如自行写一个算法实现同样的功能,下面将详细介绍Java实现的HMM+维特比算法实现词性标注。在给定的单词发射矩阵和词性状态转移矩阵,完成特定句子的词性标注。这个任务可以在刚接触HMM和维特比算法进行词性标注作为实践,为之后实现特定语料库的词性标注铺垫。
阅读全文
摘要:这篇将使用Java实现基于规则的中文分词算法,一个中文词典将实现准确率高达85%的分词结果。经典算法:正向最大匹配和反向最大匹配算法,然后双剑合璧,双向最大匹配。
阅读全文
摘要:隐马尔可夫模型(HMM),熟悉又陌生的名字,给人一种很神秘高深的感觉,而其原理来源于概率论统计学知识,包括了条件概率、贝叶斯公式、概率分布函数。这一篇将探索HMM三个基本问题的解决方案:估计问题、序列问题、参数估计。
阅读全文
摘要:隐马尔可夫模型HMM学习记录,这一章从概率图模型开始,学习常见的图模型具体的原理以及实现算法,包括了有向图模型:贝叶斯网络(BN)、(隐)马尔可夫模型(MM/HMM),无向图模型:马尔可夫网络(MN)、条件随机场(CRF)。学习前提条件需要一定的概率论与数理统计知识,里面许多方法都是概率统计知识。
阅读全文
摘要:基于sklearn的线性判别分析(LDA)代码实现 一、前言及回顾 本文记录使用sklearn库实现有监督的数据降维技术——线性判别分析(LDA)。在上一篇LDA线性判别分析原理及python应用(葡萄酒案例分析),我们通过详细的步骤理解LDA内部逻辑实现原理,能够更好地掌握线性判别分析的内部机制。
阅读全文
摘要:目录 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 二、计算散布矩阵 三、线性判别式及特征选择 四、样本数据降维投影 五、完整代码 结语 一、LDA是什么 LDA概念及与PCA区别 LDA线性判别分析(Linear Discriminant Analysis)也是一种特征提取、数据压缩
阅读全文
摘要:运用sklearn进行主成分分析(PCA)代码实现 一、前言及回顾 二、sklearn的PCA类介绍 三、分类结果区域可视化函数 四、10行代码完成葡萄酒数据集分类 五、完整代码 六、总结 一、前言及回顾 从上一篇《PCA数据降维原理及python应用(葡萄酒案例分析)》,我们知道,主成分分析PCA
阅读全文
摘要:目录 主成分分析(PCA)——以葡萄酒数据集分类为例 1、认识PCA (1)简介 (2)方法步骤 2、提取主成分 3、主成分方差可视化 4、特征变换 5、数据分类结果 6、完整代码 总结: 1、认识PCA (1)简介 数据降维的一种方法是通过特征提取实现,主成分分析PCA就是一种无监督数据压缩技术,
阅读全文
摘要:深度学习模型的调优,首先需要对各方面进行评估,主要包括定义函数、模型在训练集和测试集拟合效果、交叉验证、激活函数和优化算法的选择等。 那如何对我们自己的模型进行判断呢?——通过模型训练跑代码,我们可以分别从训练集和测试集上看到这个模型造成的损失大小(loss),还有它的精确率(accuracy)。
阅读全文
摘要:前言 今天记录一下深度学习的另外一个入门项目——《mnist数据集手写数字识别》,这是一个入门必备的学习案例,主要使用了tensorflow下的keras网络结构的Sequential模型,常用层的Dense全连接层、Activation激活层和Reshape层。还有其他方法训练手写数字识别模型,可
阅读全文
摘要:熵是一个很常见的名词,在物理上有重要的评估意义,自然语言处理的预备知识中,熵作为信息论的基本和重点知识,在这里我来记录一下学习的总结,并以此与大家分享。 信息论基本知识 1、熵 2、联和熵与条件熵 3、互信息 4、交叉熵与相对熵 5、困惑度 6、总结 1、熵 熵也被称为自信息,描述一个随机变量的不确
阅读全文
摘要:文章目录 一、项目背景 二、数据处理 1、标签与特征分离 2、数据可视化 3、训练集和测试集 三、模型搭建 四、模型训练 五、完整代码 数据集[cnn_train.csv]可以在右方我的公众号里面获取!回复“数据集”即可! 另外,我整理了整个项目的精简版本,完整代码,开箱即用,教程详细,方便快捷!无
阅读全文
摘要:学习python,机器学习(maching-lerning)、深度学习(deep-learning)等概念也是耳熟能详。我最近从新手开始学习maching-learning知识,不过课程偏向基本的理论知识,所以有时感觉枯燥无味,于是我试着实践代码,对于从零开始的小白来说,理论到实践要解决的第一个问题
阅读全文