机器学习概念
机器学习是一门多领域交叉学科,涉及概率论、线性代数、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
- 以计算机为工具和平台
- 以数据为研究对象
- 以学习方法为中心
应用场景
机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
数学基础
参考:https://zhuanlan.zhihu.com/p/25197792
概念
- 标量:一个单独的数,一般用小写的的变量名称表示。
- 向量:一列数,这些数是有序排列的。
- 矩阵:二维数组。
- 张量:是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。是深度学习框架中的一个核心组件。
- 范数:衡量一个向量的大小。用在损失函数限制模型的复杂度和过拟合问题。
- L1范数
||x||
:为x向量各个元素绝对值之和; - L2范数
||x||2
:为x向量各个元素平方和的开方。
- L1范数
- 贝叶斯公式:贯穿了机器学习中随机问题分析的全过程。从文本分类到概率图模型,其基本分类都是贝叶斯公式。
机器学习分类
有三种主要类型的机器学习:监督学习、非监督学习和强化学习。
监督学习(supervised learning)
已知输入输出,发现特征和目标变量之间的关系。监督学习的两种主要类型是分类(离散值)和回归(连续值)。
常用算法:
- k-近邻算法
- 朴素贝叶斯算法
- 支持向量机
- 决策树
- 线性回归
- 逻辑回归
非监督学习(unsupervised learing)
在未加标签的数据中,找到隐藏的结构。无监督学习分为聚类和降维。
常用算法:
- K-均值
- 最大期望算法
- DBSCAN
- Parzen窗设计
强化学习(Reinforcement Learning)
这个算法可以训练程序做出某一决定。程序在某一情况下尝试所有的可能行动,记录不同行动的结果并试着找出最好的一次尝试来做决定。 属于这一类算法的有马尔可夫决策过程。
开发流程
- 收集数据: 收集样本数据
- 准备数据: 注意数据的格式
- 分析数据: 为了确保数据集中没有垃圾数据;
- 如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤;
- 另外该步骤需要人工干预,会降低自动化系统的价值。
- 训练算法: [机器学习算法核心]如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤
- 测试算法: [机器学习算法核心]评估算法效果
- 使用算法: 将机器学习算法转为应用程序
常见模型指标
- 正确率 —— 提取出的正确信息条数 / 提取出的信息条数
- 召回率 —— 提取出的正确信息条数 / 样本中的信息条数
- 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%