自然语言处理NLP(三)

2019-09-09 17:20:00 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/github_39655029/article/details/82925787

样本点中的关键度量指标:距离

  • 定义:
  • 常用距离:
    • 欧氏距离,euclidean–通常意义下的距离;
    • 马氏距离,manhattan–考虑到变量间的相关性,且与变量单位无关;
    • 余弦距离,cosine–衡量变量相似性;

TF-IDF矩阵

  • 一种用于资讯检索和勘察的一种加权技术,是一种统计方法,用于评估词语或字对文件集与语料库中的重要程度;
  • TF-IDF:TF(词频)和IDF(倒文档频率)的乘积,其中TF表示某个关键词出现的频率,IDF为所有文档数目除以包含该词语的文档数目的对数值,|D|表示所有文档的数目,|wεd|表示包含词语w的文档数目;

聚类算法

层次聚类
  • 对给定的对象集合进行层次分解,分为凝聚(自下而上)和分裂(自上而下);

1、开始时每个样本各自作为一类; 2、规定某种度量作为样本间距及类与类之间的距离,并计算; 3、将距离最短的两个类聚为一个新类; 4、重复2-3,不断聚集最近的两个类,每次减少一个类,直到所有样本被聚为一类;

动态聚类:k-means

1、选择K个点作为初始质心; 2、将每个点指派到最近的质心,形成K个簇(聚类) 3、重新计算每个簇的质心; 4、重复2-3直至质心基本不变,此时算法达到稳定状态; 需要多次运行,然后比较各次运行结果,然后选取最优解,K值使用肘部法则进行确定;

K-means算法的优缺点
  • 效率高,且不易受初始值选择的影响;
  • 不能处理非球形的簇;
  • 不能处理不同尺寸、密度的簇;
  • 要先剔除离群值,因为它可能存在较大干扰;
基于密度的方法:DBSCAN
  • 算法将具有足够高密度的区域划分为簇,并可以发现任何形状的聚类;
  • r-邻域:给定点半径r内的区域;
  • 核心点:若一个点的r-邻域至少包含最少数目M个点,则称该点为核心点;
  • 直接密度可达:若p点在核心点q的r-邻域内,则p是从q出发可以直接密度可达;
  • 若存在点链P1,P2,…,Pn,P1=q,Pn=P,Pi 1是从Pi关于r和M直接密度可达,则称点P是从q关于r和M密度可达的;
  • 若样本集D中存在点o,使得p,q是从o关于r和M密度可达的,那么点p、q是关于r和M密度相连的;
  • 算法基本思想: 1、指定合适的r和M; 2、计算所有样本点,若点p的r邻域中有超过M个点,则创建一个以p为核心点的新簇; 3、反复查找这些核心点直接密度可达(之后为密度可达)的点,将其加入到相应的簇,对于核心点发生“密度相连”状况的簇,进行合并; 4、当无新的点可以被添加到任何簇时,算法完成;

类相互之间的距离的计算方法

  • 离差平方和法–ward 计算两个类别之间的离差平方和,找出最小的离差平方和,然后将这两个类别聚为一类;
  • 类平均法–average 通过计算两个类别之间的所有点的相互距离,求其均值,然后作为这两个类之间距离均值,找出最小的距离均值,然后将这两个类聚为一类;
  • 最大距离法–complete 让两个类之间相距最远的点作为两个类之间的距离,然后找出最大距离中最小的两个类,将他们聚为一类;

0 人点赞