写在前面
这一系列笔记是参考《机器学习基础:从入门到求职》(胡欢武编)一书而写的,希望自己能够坚持学完,并有所收获。
-----------------------------------------------------------------------------------------------------------------------------------2020.7.11
第一章 机器学习概述
0x00 机器学习介绍
传统编程模式
机器学习模式
机器学习特点:
以计算机为工具和平台,以数据为研究对象,以学习方法为中心,是概率论、线性代数、信息论、最优化理论和计算机科学等多个领域的交叉学科。
机器学习的对象是数据,从数据出发,提取数据特征,抽象出数据模型,发现数据中的规律,再回到对新数据的分析和预测中区。
机器学习、深度学习和人工智能的关系
0x01 机器学习分类
1、按任务类型分类
2、按学习方式分类
- 有监督学习,简称监督学习,是指基于一组带有结果标注的样本训练模型,然后用该模型对新的未知结果的样本做出预测。
常见的监督学习任务是分类和回归:
分类:当模型被用于预测样本所属类别时,就是一个分类问题
回归:当所要预测的样本结果为连续数值时,就是一个回归问题- 无监督学习,训练样本的结果信息是没有被标注的,即训练集的结果标签时未知的。
常见的无监督学习任务是聚类和降维:
聚类: 聚类模型试图将整个数据集划分成若干个不相干的子集,每个子集被称为一个簇。
降维:通过某些数字变换关系,将原始的高维空间映射到另一个低维的子空间。- 强化学习,又再励学习、评价学习,是从动物学习、参数扰动自适应控制等理论发展而来的。
让计算机不断尝试和探测,采用一种趋利避害的策略,不断试错和调整,最终机器将发现哪种行为能够产生最大的回报。
0x02 生成模型和判别模型
生成模型
生成方法是由数据学习训练集的联合概率分布p(X,Y),然后求出条件概率分布P(Y,X)作为预测的模型。
模型表示了给定X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯模型 和 隐马尔可夫模型
生成方法的特点
- 生成方法可以还原出联合概率分布P(X,Y),而判别方法不能
- 生成方法的学习收敛速度一般更快
- 但存在隐变量时,生成方法仍可以使用,而判别方法不能
判别模型
判别方法是有数据直接学习决策函数f(x)或条件概率分布P(X,Y)作为预测模型,即判别模型。
典型的判别模型包括K近邻、感知机、决策树、Logistic回归、最大熵模型、支持向量机、提升方法和条件随机场等。
判别方法的特点
- 判别方法直接学习条件概率或决策函数,即直接面对预测,往往学习的准确度更高
0x03 机器学习方法三要素
1、 模型
当解决某个需要作出决定的问题时,我们需要把问题对象的影响因素列出来,并将其数值化,比如性别(男1,女0)等,构成多向量Xi(i=0,1,2,…,N),再给出各个因素的权重Wj,对用户的各个维度特征求一个加权和。当加权和超过某个阈值(threshold)就可以进行判定,进一步我们将‘是’和‘否’分别用1和-1来表示。
2、策略
那么f(x)中的权重w又是怎么得来的呢?这就用到了策略。我们是通过训练集将其学习出来,但是为什么可以由训练集学习,以及如何学习就用到了策略的内容。
我们采用的策略是为模型定义一个“损失函数”,也称风险函数。用来描述每一个预测结果与真实结果之间的差异。下面介绍一些损失函数的基本概念。
(1)0-1损失函数
0-1损失函数在朴素贝叶斯模型的推导中会用到:
(2)绝对损失函数
(3) 平方损失函数
(4)指数损失函数
指数损失函数在AdaBoost模型的推导中会用到
(5)Hinge损失函数
Hinge损失函数是SVM模型的基础
(6)对数损失函数
对数损失函数在Logistic回归模型的推导中会用到
3、算法
(1) 梯度下降法
- 引入
误差在沿梯度方向迭代求解时收敛速度最快 - 原理
在多元微分学中,梯度就是函数的导数方向。
(2) 牛顿法
- 介绍
牛顿法也是求解无约束最优化问题的常用方法,最大的优点是收敛速度快。 - 本质
从本质上看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法更快。 - 阻尼牛顿法
牛顿法有个问题,就是当初始点远离极小值点时,牛顿法可能不收敛。阻尼牛顿法是对牛顿法的修正,在后者的基础上增加动态步长因子,相当于增加了一个沿牛顿方向的一维搜索。
(3) 拟牛顿法
- 概述
阻尼牛顿法每次迭代都必须计算Hessen矩阵的逆矩阵,当函数中含有的未知变量个数较多时,计算量比较大。为了克服这一点,人们提出了一个更简单的式子去近似拟合式子中的Hessen矩阵,这就有了拟牛顿法。
以上三种方法均涉及到数学公式的推导,因笔者初学和数学功底较弱,暂时不做展开介绍。