机器学习基础篇

Posted by Kaka Blog on October 17, 2019

机器学习概念

机器学习是一门多领域交叉学科,涉及概率论、线性代数、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

  1. 以计算机为工具和平台
  2. 以数据为研究对象
  3. 以学习方法为中心

应用场景

机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。

数学基础

参考:https://zhuanlan.zhihu.com/p/25197792

概念

  • 标量:一个单独的数,一般用小写的的变量名称表示。
  • 向量:一列数,这些数是有序排列的。
  • 矩阵:二维数组。
  • 张量:是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。是深度学习框架中的一个核心组件。
  • 范数:衡量一个向量的大小。用在损失函数限制模型的复杂度和过拟合问题。
    • L1范数||x||:为x向量各个元素绝对值之和;
    • L2范数||x||2:为x向量各个元素平方和的开方。
  • 贝叶斯公式:贯穿了机器学习中随机问题分析的全过程。从文本分类到概率图模型,其基本分类都是贝叶斯公式。

机器学习分类

有三种主要类型的机器学习:监督学习、非监督学习和强化学习。

监督学习(supervised learning)

已知输入输出,发现特征和目标变量之间的关系。监督学习的两种主要类型是分类(离散值)和回归(连续值)。

常用算法:

  • k-近邻算法
  • 朴素贝叶斯算法
  • 支持向量机
  • 决策树
  • 线性回归
  • 逻辑回归

非监督学习(unsupervised learing)

在未加标签的数据中,找到隐藏的结构。无监督学习分为聚类和降维。

常用算法:

  • K-均值
  • 最大期望算法
  • DBSCAN
  • Parzen窗设计

强化学习(Reinforcement Learning)

这个算法可以训练程序做出某一决定。程序在某一情况下尝试所有的可能行动,记录不同行动的结果并试着找出最好的一次尝试来做决定。 属于这一类算法的有马尔可夫决策过程。

开发流程

  1. 收集数据: 收集样本数据
  2. 准备数据: 注意数据的格式
  3. 分析数据: 为了确保数据集中没有垃圾数据;
    • 如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤;
    • 另外该步骤需要人工干预,会降低自动化系统的价值。
  4. 训练算法: [机器学习算法核心]如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤
  5. 测试算法: [机器学习算法核心]评估算法效果
  6. 使用算法: 将机器学习算法转为应用程序

常见模型指标

  • 正确率 —— 提取出的正确信息条数 / 提取出的信息条数
  • 召回率 —— 提取出的正确信息条数 / 样本中的信息条数
  • 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%

参考