1 机器学习概述
1.1 数据驱动的问题求解
大数据-Big Data
大数据的多面性
1.2 数据分析
机器学习:海量的数据,获取有用的信息
- 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能
- 使用计算机来彰显数据背后的真实含义,它为了把无序的数据转换成有用的信息。
- 是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
- 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
2 机器学习基本概念
2.1 机器学习是什么?
2.2 机器如何学习?
2.3 学习范式1:无监督
在机器学习,无监督学习的问题是,在未加标签的数据中,试图找到隐藏的结构。
因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案。
数据没有类别信息,也不会给定目标值。
非监督学习包括的类型:
- 聚类:在无监督学习中,将数据集分成由类似的对象组成多个类的过程称为聚类。
- 密度估计:通过样本分布的紧密程度,来估计与分组的相似性。
- 此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。
2.4 学习范式2:有监督
给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。 (包括:分类和回归)
样本集:训练数据 + 测试数据
- 训练样本 = 特征(feature) + 目标变量(label: 分类-离散值/回归-连续值)
- 特征通常是训练样本集的列,它们是独立测量得到的。
- 目标变量: 目标变量是机器学习预测算法的测试结果。在分类算法中目标变量的类型通常是标称型(如:真与假),而在回归算法中通常是连续型(如:1~100)。
2.5 机器学习的流程
2.5.1 训练过程
数据集的划分
- 训练集(Training set):学习样本数据集,通过匹配一些参数来建立一个模型,主要用来训练模型。类比考研前做的解题大全。
- 验证集(validation set) : 对学习出来的模型,调整模型的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。类比 考研之前做的模拟考试。
- 测试集(Test set): 测试训练好的模型的分辨能力。类比 考研。这次真的是一考定终身。
模型训练
- 欠拟合(Underfitting):模型没有很好地捕捉到数据特征,不能够很好地拟合数据,对训练样本的一般性质尚未学好。类比,光看书不做题觉得自己什么都会了,上了考场才知道自己啥都不会。
- 过拟合(Overfitting):模型把训练样本学习“太好了”,可能把一些训练样本自身的特性当做了所有潜在样本都有的一般性质,导致泛化能力下降。类比,做课后题全都做对了,超纲题也都认为是考试必考题目,上了考场还是啥都不会。
- 通俗来说,欠拟合和过拟合都可以用一句话来说,欠拟合就是:“你太天真了!”,过拟合就是:“你想太多了!”。
模型分类:
- 分类问题 :说白了就是将一些未知类别的数据分到现在已知的类别中去。比如,根据你的一些信息,判断你是高富帅,还是穷屌丝。
评判分类效果好坏的三个指标就是上面介绍的三个指标:正确率,召回率,F值。 - 回归问题 : 对数值型连续随机变量进行预测和建模的监督学习算法。
回归往往会通过计算 误差(Error)来确定模型的精确性。 - 聚类问题: 聚类是一种无监督学习任务,该算法基于数据的内部结构寻找观察样本的自然族群(即集群)。
聚类问题的标准一般基于距离:簇内距离(Intra-cluster Distance) 和 簇间距离(Inter-cluster Distance) 。
簇内距离是越小越好,也就是簇内的元素越相似越好;而簇间距离越大越好,也就是说簇间(不同簇)元素越不相同越好。一般的,衡量聚类问题会给出一个结合簇内距离和簇间距离的公式。
2.5.2 机器学习算法汇总
3 机器学习算法使用
3.1 选择算法需要考虑的两个问题
- 算法场景
- 预测明天是否下雨,因为可以用历史的天气情况做预测,所以选择监督学习算法
- 给一群陌生的人进行分组,但是我们并没有这些人的类别信息,所以选择无监督学习算法、通过他们身高、体重等特征进行处理。
- 需要收集或分析的数据是什么
3.2 机器学习开发流程
- 收集数据: 收集样本数据
- 准备数据: 注意数据的格式
- 分析数据: 为了确保数据集中没有垃圾数据;
- 如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤;
- 另外该步骤需要人工干预,会降低自动化系统的价值。
- 训练算法: [机器学习算法核心]如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤
- 测试算法: [机器学习算法核心]评估算法效果
- 使用算法: 将机器学习算法转为应用程序
3.3 常见的模型指标
- 正确率 : 提取出的正确信息条数 / 提取出的信息条数
- 召回率 :提取出的正确信息条数 / 样本中的信息条数
- F 值 :正确率 * 召回率 * 2 / (正确率 + 召回率)(F值即为正确率和召回率的调和平均值)
【例】 某池塘有 1400 条鲤鱼,300 只虾,300 只乌龟。现在以捕鲤鱼为目的。撒了一张网,逮住了 700 条鲤鱼,200 只 虾, 100 只乌龟。
【答】那么这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F 值 = 70% * 50% * 2 / (70% + 50%) = 58.3%
3.4 机器学习数学基础
微积分
统计学/概率论
线性代数
4 机器学习工具
- Python语言
- 科学函数库:SciPy、NumPy(底层语言:C和Fortran)
- 绘图工具库:Matplotlib
- 数据分析库 Pandas,sklearn
- 数学工具:Matlab
5 课后延伸
请学习数学基础并组织分组讲解,内容参考
https://zhuanlan.zhihu.com/p/25197792
参考资料
《机器学习》 周志华
《统计学习方法》 李航
《Python核心编程》 人民邮电出版社
“Pattern recognition and machine learning” Bishop
《数据挖掘-概念与技术》 Jiawei Han等,机械工业出版社
《机器学习实战》 Peter Harrington,人民邮电出版社