什么是机器学习?
不严谨的理解:在有监督的情况下,根据对大量有效标签的数据学习——训练模型,输入进去学习的模型,不断的迭代其本身的模型参数,从而得到最终的模型。
有的将机器学习的一般流程看做是炒菜:
数据收集(准备食材)—>数据清洗(清洗食材)—>特征工程(加工食材)—>数据建模(下料烹饪)
人类的学习可以从更少的数据中对物体进行抽象理解,更好的对学习的知识进行抽象的应用。
LDA百度百科的描述——是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。
指数函数的一个重要特征是无记忆性(遗失记忆性)。
凸优化:
- 包含了很多概念:
- 集合
- 超平面、半空间、欧式球、椭球
- 范数、范数球、范数锥
- 多面体、仿射集
保持凸性的运算
- 集合交运算
- 仿射变换
- 透视变换
- 投射函数
凸优化,或叫做凸最优化,凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸优化在某种意义上说较一般情形的数学最优化问题要简单,譬如在凸优化中局部最优值必定是全局最优值。凸函数的凸性使得凸分析中的有力工具在最优化问题中得以应用,如次导数等。——百度百科
在数据的区域分割运用时,需要找到一个分割超平面,而在找到最优的分割平面时需要用到的就是凸优化,当然根据学习用的数据模型情况,我们可以需要定义什么样的平面是最优的
即使遇到不是有交叉的集合时,我们也需要注意,分割的超平面是否恰当,是否过拟合,是否欠拟合,这些问题都是需要我们在定义超平面的过程中要考虑的。例如:
找到集合“边界”上的若干点,以这些点为“基础”计算超平面的方向,以这两个集合边界上的这些点的平均作为超平面的“截距”。
若两个集合有部分相交,如何定义超平面使得两个集合“尽量”分开?
我们在机器学习的过程中很重要的一点——有了大量的数据后,我们需要什么样的模型去学习,每个不同的算法又会有什么样的优缺点,这样就需要我们在了解了一定的算法理论基础以后,进行更好的工程上的应用。
有以下一些算法:
- 回归
- 决策树和随机森林
- 支持向量机(SVM)
- 聚类
- EM(Expectation Maximization Algorithm)
- 贝叶斯算法
- HMM
在学习基本的算法过程中,我们应该注意:
- 算法的定义和用途
- 基本的算法又能用到哪些机器学习领域
- 如何将实际的问题转化成算法问题
- 如何将需要用到的算法往已知的算法上靠——借用那些成熟的算法库