NLP学习笔记17-机器学习

92 阅读3分钟

一 序

  本文属于贪心NLP学习笔记系列。从本节课开始进入机器学习的章节。

之前的两个分支之一:基于概率的系统(Probabilistic),主要是学习出数据与标签之间的映射关系。

二 机器学习

定义:自动从已有的数据里找出一规律,然后把学到的这些规律应用到对未来数据(future data)的预测中,或者在不确定环境下自动地做一些决策。

两大流派:<1>有监督的(Supervised Learning,即我们有一些训练数据,通过训练数据去构建一个模型)、无监督的(unsupervised Learning) 

              <2>生成模型(generative model)、判别模型(discriminative)

实际工作中,最常见的学习还是有监督学习。(现实中年无监督学习效果没那么好)

监督学习:训练集数据包含x(特征向量),Y(标签label),我们想学出X到Y的对应关系F(),

以情感分析为例,下图解释的有监督训练的模型:

首先,给定一个语料库(即训练数据),该语料库包含文本(x)及其情感倾向判断结果(y ) ,通过训练语料库,得到函数f,用来进行判别用户新的输入的情感倾向

监督学习模型 Supervised Learning Algorithms

·线性回归(Linear Regression)
·逻辑回归(Logistic Regression)
·朴素贝叶斯(Naive Bayes)
·神经网络(Neural Network)
·SVM(Support Vector Machine)
·随机森林(Random Forest)
·Adaboost
·CNN(Convolutional Neural Network)

目前为止,这些经典算法听完还是一堆术语。跟之前不学这个课相比,就是知道属于监督学习模型。

无监督学习

所给的训练数据只包含x,不含有y,所以很显然学不到f(x->y)的过程。

更多的是对数据的分析,通过聚类的方法使数据有个直观的分析。比如再营销上。

常用的无监督学习的算法 Unsupervised Learning Algorithms

·K-means (聚类)
·PCA(Principal Component Analysis)  (降维)
·ICA(Independent Component Analysis) (降维)
·MF(Matrix Factorization) 矩阵分解常用再推荐系统
·LSA(Latent Semantic Analysis)
·LDA(Latent Dirichlet Allocation)

使用之前,要深入了解算法的理念是什么,可能会遇到什么问题。

生成模型(generative model)和判别模型(discriminative model)

生成模型通过已经训练好的模型,可以用来生成图片、音乐、文本等,例如生成模型会学习猫、狗的特征,再利用学到的特征去判断用户输入的是猫或狗的概率P。

生成模型是记住细节,而叛逆别模型是记住区别。

从数学角度来看,生成模型是最大化P(X)或者最大化P(X|Y).

而判别模型是,判别模型是最大化

建模流程

经典流程

数据清洗比较耗费时间,影响后面整体的效果。特征工程耗时占比最大,也是模型最重要的部分。如果理想的准确度是100分,那么特征工程决定了系统的准确度的上限,例如90分,那么选择模型,调节参数,也是只能逼近上限。

近几年,这个流程不断优化,变成端到端的流程。由于传统流程中特征工程非常重要,然后又很费时间(需要对业务理解,又要有创新思维)。把特征工程去掉就是端到端的流程。由模型自动完成特征工程提取。

端到端的模型(end to end learning)

如seq2seq.再图像领域  效果较好,在NLP领域,效果通常不好。

模型构建时的数据划分

一般将数据分为训练数据(训练模型)和测试数据(测试模型)。达到预期就可以上线,否则就得重新搭建。