1、首先请大家思考下:
- 什么是机器学习?
- 机器学习有什么用?
2、下面我们来看一个例子
- 天气的变化对农作物的影响很大,那么在古代不如现在科技这么发达,农民又是怎样来判断天气的呢?我相信大家都知道。是的,农民是根据当天天气情况、晚上的夜空来以及以往的经验来判断明天的天气是晴天还是雨天。
- 其实,我们生活中有很多基于经验做出的预判。
- 生活中的例子,可以看出,我们能够根据经验做出有效的预判,是因为我们已经积累了许多的经验,而通过对经验的利用,就能够对新情况做出有效的决策。
上面对经验的利用是靠我们人类自身完成的,那么,计算机能做到吗?
机器学习正是这样的一门学科,它致力于研究如何通过计算手段,利用经验来改善系统自身的性能。
3、机器学习定义
- Machine Learning(ML) is a scientific discipline that deals with the construction and study of algorithms that can learn from data.
- 机器学习是一门从数据中研究算法的科学学科。
- 直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。
4、机器学习理性认识
4.1 基本概念
- 输入:
x∈X(属性值) x ∈ X ( 属 性 值 )
- 输出:
y∈Y(目标值) y ∈ Y ( 目 标 值 )
- 获得一个目标函数(target function):
f:X−>Y(理想的公式) f : X − > Y ( 理 想 的 公 式 )
- 输入数据:
D={(x1,y1),(x2,y2),...,(xn,yn)}(历史记录数据) D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } ( 历 史 记 录 数 据 )
- 最终具有最优性能的假设公式:
g:X−>Y g : X − > Y
- 目标函数f未知(无法得到)
- 假设函数g类似函数f,但是可能和函数f不同
机器学习中无法找到一个完美的函数f,从数据中获得一个假设的函数g,使其非常接近目标函数f的效果。
5、机器学习概念
- 对于给定的任务T,在合理的性能度量P的前提下,某计算机程序可以自主学习任务T的经验E;随着提供合理、优质、大量的经验E,该程序对于任务T的性能逐步提高。
- 其中重要的机器学习对象:
- 任务T(一个或多个)、经验E、度量性能P
- 即:随着任务的不断执行,经验的积累会带来计算机性能的提升。
- 算法(T):根据业务需要和数据特征选择的相关算法,也就是一个数学公式
- 模型(E):基于数据和算法构建出来的模型
- 评估/测试(P):对模型进行评估的策略
机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。
6、 机器学习常见的应用框架
以后我会基于第一个scikit-learn库给出一些案例
7、机器学习应用场景
- 模式识别
- 数据挖掘
- 统计学习
- 计算机视觉
- 语音识别
- 自然语言处理等
8、机器学习、数据分析、数据挖掘区别与联系
8.1 数据分析
数据分析是指用适当的统计分析方法对收集的大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概况过程。在实际工作中,数据分析可以帮助人们做出判断;数据分析一般而言可以分为统计分析、探索性数据分析和验证性数据分析三大类。
8.2 数据挖掘
一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。
8.3 机器学习
是数据分析和数据挖掘的一种比较常用、比较好用的手段。
9、机学习分类
9.1 有监督学习
用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集中推断出模型的机器学习任务。
9.2 无监督学习
与监督学习相比,无监督学习的训练集中没用认为的标注结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。
9.3 半监督学习
考虑如何利用少量的标注样本和大量的未标注的样本进行训练和分类的问题,是有监督学习和无监督学习的结合
10、机器学习分类
10.1 分类
通过分类模型,将样本数据集中的样本映射到某个给定的类别中
10.2 聚类
通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大
10.3 回归
反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系
10.4 关联规则
获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率
11、机器学习开发流程
- 数据收集
- 数据预处理
- 特征提取
- 模型构建
- 模型测试评估
- 投入使用(模型部署与整合)
- 迭代优化
- 其中,数据预处理主要包括:数据过滤、处理数据缺失、处理异常值、合并多个数据源数据、数据汇总
- 模型训练:交叉验证
- 模型测试:准确率、召回率、精确率、F值(混淆矩阵)以及ROC和AUC(这些在以后的案例中会用到)