当前位置: 首页 > news >正文

自然语言处理系列之: NLP中用到的机器学习算法

大纲

  • 机器学习的一些基本概念:有/无监督学习、半监督学习、回归、降维等
  • 机器学习常用分类算法:朴素贝叶斯、支持向量机、逻辑回归等
  • 机器学习的聚类方法:k-means算法
  • 机器学习的应用

9.1 简介

  • 机器学习训练的要素

    • 数据
    • 转换数据的模型
    • 衡量模型好坏的损失函数
    • 调整模型权重以最小化损失函数的算法
  • 机器学习中最重要的四类问题(按学习结果)

    • 预测(Prediction):用回归(Regression,Arima)等模型;
    • 聚类(Clustering):如K-means方法;
    • 分类(Classification):支持向量机(Support Vector Machine,SVM)、逻辑回归(Logistic Regression);
    • 降维(Dimensional reduction):主成分分析法(Principal Component Analysis,即纯矩阵运算);
  • 按学习方法分

    • 监督学习(Supervised Learning):给定输入 x x x,如何通过在标注输入和输出的数据上训练模型而预测输出 y y y

    监督学习框架
    主要是先准备训练数据,然后抽取所需特征形成特征向量(Feature Vectors),将这些特征连同对应标记(label)一起给学习算法,训练出一个预测模型(Predictive Model),然后采用同样的特征提取方法对新测试数据进行特征提取,然后使用预测模型对将来的数据进行预测;

    • 无监督学习(Un-supervised Learning)
    • 半监督学习(Semi-supervised Learning)
    • 增强学习(Reinforced Learning)

9.2 几种常用机器学习方法

  • 文本分类

    大致分为以下步骤:

    1. 定义阶段:定义数据及分类体系,具体分为哪些类别,需要哪些数据;
    2. 数据预处理:对文档分词、去停用词等;
    3. 数据提取特征:对文档矩阵降维,提取训练集中最有用的特征;
    4. 模型训练阶段:选择具体分类模型及算法,训练文本分类器;
    5. 评测阶段:测试集上测试并评价分类器性能;
    6. 应用阶段:应用性能最高的分类模型对分类文档进行分类;
  • 特征提取

    • Bag-of-words:最原始的特征集,一个单词/分词即为一个特征;
    • 统计特征:Term frequency(TF)、Inverse document frequency(IDF);
    • N-Gram:考虑词汇顺序的模型,即N阶Markov链,每个样本转移为转移概率矩阵;
  • 序列学习

    • 语音识别
    • 文本转语音
    • 机器翻译

9.3 分类器方法

  • 朴素贝叶斯

相关文章:

  • Java网络编程:UDP套接字程序设计,UDP实现Socket通信(附完整代码实现)
  • Java网络编程:邮件发送程序设计,SMPT传输协议实现(完整代码实现)
  • java网络编程:基于HTTP的下载程序设计及web浏览器制作(完整代码实现)
  • Java网络编程:Socket实现的扫描程序设计 (完整代码实现)
  • 为什么要学习设计模式?看完这篇你就懂了!
  • 使用Wps切分单页PDF文件为多页pdf
  • 深入解析JVM(四):对象的创建
  • IntellIJ IDEA导入项目后无法运行方法的解决方法!
  • Java使用Redis删除指定前缀Key
  • Linux中删除重复行的三种方法
  • Java面试突击系列(一):消息队列的面试连环炮
  • Java面试突击系列(二):分布式搜索引擎的面试连环炮
  • Java面试突击系列(三):分布式缓存
  • Java面试突击系列(四):Redis面试常见问题
  • Java面试突击系列(五):Redis集群模式
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • css的样式优先级
  • Docker入门(二) - Dockerfile
  • JavaScript 奇技淫巧
  • js算法-归并排序(merge_sort)
  • mac修复ab及siege安装
  • overflow: hidden IE7无效
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • vue--为什么data属性必须是一个函数
  • 如何设计一个比特币钱包服务
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 微服务框架lagom
  • 一些关于Rust在2019年的思考
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 《天龙八部3D》Unity技术方案揭秘
  • 【干货分享】dos命令大全
  • 如何用纯 CSS 创作一个货车 loader
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (备忘)Java Map 遍历
  • (论文阅读40-45)图像描述1
  • (三)Honghu Cloud云架构一定时调度平台
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)Google的Objective-C编码规范
  • ****Linux下Mysql的安装和配置
  • ./configure,make,make install的作用
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 后台导出excel ,word
  • .sdf和.msp文件读取
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [CodeForces-759D]Bacterial Melee
  • [dart学习]第四篇:函数