使用Java机器学习对大文本数据进行聚类和分类。第一条-理论

图片



本文将分为三个部分(用于解决问题的理论/方法和算法/ Java的开发和实现)来描述完整的图片。第一篇文章包括理论,以培养读者的思想。



本文目的:



  • 对大数据(即文本数据)进行聚类和分类的任务的部分或完全自动化。
  • 机器学习算法的应用“无监督”(聚类)和“监督”(分类)。
  • 分析当前问题的解决方案。


一般要考虑的任务:



  1. 自然语言处理算法和方法的开发与应用。
  2. 聚类方法的开发和应用,以确定输入文档的聚类组。
  3. 应用分类方法来定义每个群集组的主题。
  4. 基于Java Vaadin的Web界面开发


我从问题和理论教学中得出的假设:



  • 与单个对象的分类相比,群集组的分类定义了抽象的和更有价值的隐藏知识,而忽略了噪声。
  • 聚类精度与聚类组的数量成正比,与一个聚类组中的对象数成反比。


展望对算法本身感兴趣的任何人,这里是概述。



机器学习软件算法包括3个主要部分:



  1. 自然语言处理。

    1. 标记化;
    2. 词形化
    3. 停止上市;
    4. 词频


  2. 聚类方法。

    TF-IDF;

    SVD;

    寻找集群组;

  3. 分类方法-Aylien API。


因此,让我们开始理论。



1.机器学习的概念



‒ , , . – , , - . “ , , , . , ?”. ‒ , “”. – , , — , .



. , , , , , . - () . , , , .. , ? — , , . ? — , . .



, , , , . , , , , . , . , , . , .



, . ‒ . , . , , . . , " ", . , , .



()? , : “ , E T P, T, P, E”. , E , T , P , . – E, , 100 . “” .



, , . . , , , .



, .





2.



‒ , :



  1. ‒ . , .
  2. ‒ . , , , .
  3. – , , . . , . , ‒ , .
  4. ‒ , . , .



. , , , . , . , , , . ‒ , , , , .



, , , , , .



, . . , . . , . , . , , , . , .



, , . , . , Google, Yahoo, Microsoft, Amazon , . , , Facebook, YouTube Twitter, . , , , , .



, . , . . , . , , , , , .



, . , , . , , .



, . , , , , , , , , , , , / .. , / . , .



总而言之,可以说大数据和机器学习是紧密相关的,因为没有分析和信息提取,大数据是无用的;没有大数据,机器学习也无法共存,这给算法学习和学习带来了帮助。





3.机器学习的类型



机器学习作为一门科学,可以根据学习的性质分为三大类:



  1. 与老师一起教学;
  2. 没有老师的教学;
  3. 强化学习。


在某些科学著作中,从本质上讲,学习被分为4类,其中包括部分学习,但这只是有老师和没有老师的学习的共生。





3.1。与老师一起学习



, , , , . , , . , . . , . , , , , . , .



为了解决问题以应用监督学习,必须遵循以下步骤:



  1. 确定培训示例的类型。首先,您需要确定应将哪些数据用作训练集。
  2. 数据采集​​。数据集必须代表该函数的实际使用。因此,收集了一组输入特征和相关的输出。
  3. 确定所研究功能的对象的输入表示形式。要研究的功能的准确性高度取决于输入对象的表示方式。通常,输入对象会转换为对象矢量,其中包含描述对象的一系列对象。由于“维数的诅咒”,函数的数量不应太大,而应包含足够的信息以准确预测结果。
  4. .
  5. . . . ( ) .
  6. . , , .


使用预处理的示例训练算法,并在此阶段使用测试数据评估算法的性能。有时,无法在更大数量的数据中找到在数据子集中识别出的模式。如果模型仅适合表示训练子集中存在的模式,则会产生一个称为“过度拟合”的问题。



过度拟合意味着该模型针对训练数据集进行了微调,但无法应用于未知数据的大型数据集。为了防止过度拟合,应针对意外或未知数据进行测试。在测试套件中使用意外数据可以帮助您在预测结果时评估模型的准确性。监督学习模型对各种业务问题具有广泛的适用性,包括欺诈检测,推荐,语音识别或风险分析。



最广泛使用和流行的监督学习算法是:



  • 支持向量机
  • 线性回归
  • 逻辑回归
  • 朴素贝叶斯分类器
  • 决策树训练;
  • k近邻法
  • 人工神经网络;
  • 研究相似性。


以上每种算法对于数学和统计数学方法以及公式都有不同的方法。但是可以强调算法的一般模式,因为所有这些算法都是监督学习的:

n (x_1,y_1),(x_2,y_2),...,(x_n,y_n), x_i ‒ , y_i ‒ . , x_i , , , , . y_i «” „“.



‒ m : (xn+1, xn+2,..., xn+m) * (x_(n+1),x_(n+2),...,x_(n+m) ). , , (, “” “ ”), , .





3.3.



‒ . , . , () . . , “” .



, , (), . , , . ‒ ‒ .



, , . , , , . , , , . , , , , .

难题是学习或掌握都不可能完全完成而没有失败的任务。该算法应尝试不同的动作,并逐渐偏爱看起来最好的动作。在随机问题中,必须反复尝试每个操作以获得可靠的估计。数学家已经对学习掌握的困境进行了数十年的深入研究,但仍未解决。



错误会帮助您学习,因为它们增加了一定的纪律性(成本,时间浪费,后悔,痛苦等,使您知道某些行动方针比其他行动可能性小。)当计算机学习玩视频游戏时,会出现一个有趣的强化学习示例。无需人工干预。



机器学习也可以根据期望的结果进行分类:



  1. 分类;
  2. 集群
  3. 回归。


回归算法通常用于统计分析。回归可以帮助您分析数据点之间的模型关系。回归算法可以量化数据集中变量之间相关性的强度。此外,回归分析对于基于历史值预测未来数据值很有用。重要的是要记住,然而,回归分析假设相关性与因果关系有关。如果不了解数据的上下文,则回归分析可能会导致预测不准确。回归类型:



  • 线性回归
  • 非线性回归
  • 向量回归
  • 逻辑回归。


集群是一种相当简单的技术。具有相似参数的对象被组合在一起(在一个群集中)。群集中的所有对象比其他群集中的对象彼此更相似。聚类是一种无监督学习,因为算法本身确定了数据中元素的一般特征。该算法解释构成每个元素的参数,然后对它们进行相应的分组。



聚类类别:



  • k-均值法
  • 适用于嘈杂应用的基于密度的空间聚类-DBSCAN;
  • 聚类算法OPTICS;
  • 主成分的方法。


但是必须注意,在聚类中,尤其是在无监督学习中,该算法会寻找输入数据之间的联系。机器学习的美丽在于找到数据之间的隐藏连接,即众所周知的潜在连接。为了在潜在关系的搜索中进行聚类,使用了隐藏变量模型,该模型用于研究变量值之间的关系。隐藏的变量模型包括:



  • EM算法;
  • 时刻法;
  • 盲信号分离
  • 主成分法;
  • 独立成分分析;
  • 非负矩阵分解;
  • 奇异值分解。


分类是预测给定数据点类别的过程。类有时称为标签或类别。分类预测建模是从输入变量(X)到离散输出变量(y)近似映射函数(f)的问题该分类属于监督学习类别。分类方案的类型:



  • 词库
  • 分类;
  • 数据模型
  • 运输网络;
  • 本体。


但是在机器学习中,分类的类型是根据算法的类型完成的,算法的一种或另一种方式是指分类方案。最广泛使用的学习算法是:



  • 支持向量机
  • 逻辑回归
  • 朴素贝叶斯分类器
  • k近邻法
  • 人工神经网络;
  • .


4.



, . . , . – . ‒ , , – . , . , .



(NLP) ‒ . ‒ , , ( ) . , , , . , .



, , .



, , . , . ( ) (), . / . . , , . : () .



, . , -, , ‒ . (NLP). NLP ‒ (-) . NLP , , . NLP, , : . , , ( ). NLP , . NLP, , . , :



  • ‒ () , . – . , . .
  • ‒ , . ? , () , . . . , , . .
  • – , . , . , :

    • , , , , .
    • ,




, . , .



  • - ‒ - , , , , - , . .
  • – . , . , , ( ).


, , . , . . . . . , , . .



在机器学习中,单词文档可以与分类中的许多类别或群集中的许多聚类重叠。最常用的特征采样算法是:



  • 术语频率-反向文档频率(TF-IDF)通常用于根据其唯一性对文本文档中的每个单词加权。单词(令牌)权重通常用于信息检索和文本的语义分析。此权重是一种统计量度,用于评估单词对集合或语料库中文档的重要性,换句话说,TF-IDF方法反映了单词,文本文档和特定类别的相关性。
  • Word2Vec是用于计算单词的矢量表示的工具(一组算法),它实现了两种主要体系结构-单词的连续批处理(CBOW)和Skip-gram。传递文本文档或单词作为输入,输出数据将表示为矢量变量(矢量空间中的坐标)。


后记



实际上,机器学习理论非常广泛。在这里,我用更抽象,更简单的词写了。如果对文本或理论有任何修改,请写。同样,本文的目的是为读者准备最实际的问题和解决方案。



如果您正在等待更多评论。



All Articles