翻到刚开始接触机器学习时的笔记,闲着无事将其整理成博客。主要参照中国MOOC中浙江大学计算机学院吴飞老师的《人工智能课程》。
机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”
(1)从原始数据中提取特征
(2)学习映射函数
(3)通过映射函数将原始数据映射到语义空间,即寻找数据和任务目标之间的关系。
(1)监督学习(supervised learning)
数据有标签、一般为回归 或 分类 等任务
利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程
*半监督学习 即介于监督学习和无监督学习之间,数据并不是全都有标签。
(2)无监督学习(un-supervised learning)
数据无标签、一般为聚类或若干降维任务。
又称归纳性学习(clustering)利用K方式(Kmeans),建立中心,通过循环和递减运算(iteration&descent)来减小误差,达到分类的目的。
(3)强化学习(reinforcement learning)
序列数据决策学习,一般从环境交互中学习
监督学习是从标记的训练数据来推断一个功能的机器学习任务。
训练数据包括一套训练示例。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。
一个最佳的方案将允许该算法来正确地决定那些看不见的实例的类标签。这就要求学习算法是在一种“合理”的方式从训练数据到看不见的情况下形成。
可用于分类、识别、推荐等。
(1)标注数据 标识了类别信息的数据。
(2)学习模型 如何学习得到映射模型
(3)损失函数 如何对学习结果进行度量
训练映射函数f:使得f(xi)预测结果尽量等于yi
表:典型的损失函数
损失函数名称 | 损失函数定义 |
---|---|
0-1损失函数 | (,())= 1,()≠ ; (,())= 0,()= |
平方损失函数 | (,())=(−())2 |
绝对损失函数 | (,())=|−()| |
对数损失函数/对数似然损失函数 | (,)=−(| ) |
经验风险(empirical risk):
训练集中数据产生的损失。经验风险越小说明学习模型对训练数据拟合程度越好。
经验风险最小化:
期望风险(expected risk):
当测试集中存在无穷多数据时产生的损失。期望风险越小,学习所得模型越好。模型具有更大的泛化能力。
(泛化能力:机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出。)
期望风险最小化:
如果训练集不是很大,也就是用来给学习机器学习的样本数量比较有限的情况下,如果过于追求让经验风险小,学习复杂性太高,会导致过学习现象,也就是学习出来的模型的推广能力变差,这可以用泛化误差变大来表征。
经验风险 | 期望风险 | 效果 |
---|---|---|
小(训练集上表现好) | 小(测试集上表现好) | 泛化能力强 |
小(训练集上表现好) | 大(测试集上表现不好) | 过学习(模型过于复杂) |
大(训练集上表现不好) | 大(测试集上表现不好) | 欠学习 |
大(训练集上表现不好) | 小(测试集上表现好) | “神仙算法”或“黄粱美梦” |
结构风险最小化(structural minimization):为了防止过拟合,在经验风险上加上表示模型复杂度的正则化项(regulatizer)或惩罚项(penalty term ) :
判别模型:
生成模型: