![](https://img-blog.csdnimg.cn/20200219124517319.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习
自己学习 机器学习的技术笔记
gin_91
JAVA工程师
展开
-
TF-IDF 词频-逆文档频率 JAVA实现源码分析
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse Document Frequency)。词频(TF)表示词条(关键字)在文本中出现的频率。 这个数字通常会被归一化(一般是词频除以文章总词数)...原创 2019-11-29 21:53:41 · 884 阅读 · 0 评论 -
搜索引擎相关度算法 -BM25 JAVA实现
bm25 是一种用来评价搜索词和文档之间相关性的算法,它是一种基于概率检索模型提出的算法。它的出现主要是解决TF-IDF算法中 TF的影响可无限增大的不足,本质上BM25是基于TF-IDF并做了改进的算法。如图所示,传统的TF-IDF算法中 词频的影响程度是无限增大的,换而言之就是关键词出现的越频繁,TF-IDF相关度就越高。稍微有点简单粗暴;而BM25算法就是让词频的影响到达一定程...原创 2019-12-05 14:22:35 · 2732 阅读 · 5 评论 -
jieba中文分词器 JAVA实现源码分析
中文分词技术在文本处理分析、搜索引擎、AI自然语言识别等领域都有着非常广泛的应用,最近我也在研究SEO中的内容文本分析,掌握分词的原理可以说是必不可少的。在python机器学习中文处理普遍都用到了 jieba 分词器,后来发现 jieba 还有个java版本的,正好有需要,直接拿来用了,也看了核心的源码,注释倒是没有的,所以自己记录一下阅读源码过程中的理解。源码介绍结巴分词(ja...原创 2019-11-22 22:41:34 · 4078 阅读 · 0 评论 -
scikit-learn和tensorflow的区别
1、功能不同Scikit-learn(sklearn)的定位是通用机器学习库,而TensorFlow(tf)的定位主要是深度学习库。一个显而易见的不同:tf并未提供sklearn那种强大的特征工程,如维度压缩、特征选择等。究其根本,我认为是因为机器学习模型的两种不同的处理数据的方式:传统机器学习:利用特征工程(feature engineering),人为对数据进行提炼清洗 深度学习:利...转载 2019-11-16 11:54:04 · 215 阅读 · 0 评论 -
机器学习常用算法整理
一,SVM(Support Vector Machine)支持向量机a. SVM算法是介于简单算法和神经网络之间的最好的算法。b. 只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。c. 高斯核函数d. 缺点:计算量大二,决策树(有监督算法,概率算法)a. 只接受离散特征,属于分类决策树。...转载 2019-11-14 21:36:02 · 995 阅读 · 0 评论