(速记系列)机器学习
- 分类(classification):将实例数据划分到合适的类别中。
应用实例:判断网站是否被黑客入侵(二分类 ),手写数字的自动识别(多分类)
- 回归(regression):主要用于预测数值型数据。
应用实例:股票价格波动的预测,房屋价格的预测等。
- 监督学习
必须确定目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。
在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。 (包括:分类和回归)
样本集:训练数据 + 测试数据
训练样本 = 特征(feature) + 目标变量(label: 分类-离散值/回归-连续值)
特征通常是训练样本集的列,它们是独立测量得到的。
目标变量: 目标变量是机器学习预测算法的测试结果。
在分类算法中目标变量的类型通常是标称型(如:真与假),而在回归算法中通常是连续型(如:1~100)
注意:
- 偏置方差权衡
- 功能的复杂性和数量的训练数据
- 输入空间的维数
- 噪声中的输出值
知识表示:
可以采用规则集的形式【例如:数学成绩大于90分为优秀】
可以采用概率分布的形式【例如:通过统计分布发现,90%的同学数学成绩,在70分以下,那么大于70分定为优秀】
可以使用训练样本集中的一个实例【例如:通过样本集合,我们训练出一个模型实例,得出 年轻,数学成绩中高等,谈吐优雅,我们认为是优秀】
- 非监督学习(unsupervised learing)
未加标签的数据中,试图找到隐藏的结构。因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案。
无监督学习是密切相关的统计数据密度估计的问题。然而无监督学习还包括寻求,总结和解释数据的主要特点等诸多技术。在无监督学习使用的许多方法是基于用于处理数据的数据挖掘方法。
数据没有类别信息,也不会给定目标值
非监督学习包括的类型:
- 聚类:将数据集分成由类似的对象组成多个类的过程称为聚类。
- 密度估计:通过样本分布的紧密程度,来估计与分组的相似性。
- 无监督学习还可以减少数据特征的维度,以便使用二维或三维图形更加直观地展示数据信息。
- 强化学习
训练程序做出某一决定程序在某一情况下尝试所有的可能行动,记录不同行动的结果并试着找出最好的一次尝试来做决定。 例如,马尔可夫决策过程。
- 汇总
- 开发流程
收集数据: 收集样本数据
准备数据: 注意数据的格式
分析数据: 为了确保数据集中没有垃圾数据;
如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤;
另外该步骤需要人工干预,会降低自动化系统的价值。
训练算法: [核心]如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤
测试算法: [机器学习算法核心]评估算法效果
使用算法: 将机器学习算法转为应用程序
- 数据集划分
训练集(Training set) ——学习样本数据集,通过匹配一些参数来建立一个模型,主要用来训练模型。类比考研前做的解题大全。
验证集(validation set) —— 对学习出来的模型,调整模型的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。类比 考研之前做的模拟考试。
测试集(Test set) —— 测试训练好的模型的分辨能力。类比 考研。这次真的是一考定终身。 - 模型拟合程度
欠拟合(Underfitting):模型没有很好地捕捉到数据特征,不能够很好地拟合数据,对训练样本的一般性质尚未学好。类比,光看书不做题觉得自己什么都会了,上了考场才知道自己啥都不会。
过拟合(Overfitting):模型把训练样本学习“太好了”,可能把一些训练样本自身的特性当做了所有潜在样本都有的一般性质,导致泛化能力下降。类比,做课后题全都做对了,超纲题也都认为是考试必考题目,上了考场还是啥都不会。 - 常见的模型指标
正确率 —— 提取出的正确信息条数 / 提取出的信息条数
召回率 —— 提取出的正确信息条数 / 样本中的信息条数
F 值 —— 正确率 * 召回率 * 2 / (正确率 + 召回率)(F值即为正确率和召回率的调和平均值)
- 谈谈个人网站的建立(三)—— 定时任务
- 细说ReactiveCocoa的冷信号与热信号系列(1)
- 【美团技术团队博客】前端组件化开发实践
- Spring中Bean
- 跟Google学写代码--Chromium/base--windows_version源码学习及应用
- 一步步教你弹性框架-下篇
- R语言与机器学习(分类算法)朴素贝叶斯算法
- 【美团技术团队博客】RACSignal的Subscription深入分析
- 谈谈个人网站的建立(八)—— 缓存的使用
- 【编程基础】System.arraycopy()和 Arrays.copyOf()
- 移动端 模拟手机联系人触摸A~Z导航
- 谈谈个人网站的建立(七)—— 那些建站必备的插件
- 【美团技术团队博客】Linux资源管理之cgroups简介
- 谈谈个人网站的建立(六)—— 数据库同步
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法