机器学习名词概念-实验室作业2018.3.25

关于机器学习之前需要了解的名词概念

监督学习:用正确答案训练神经网络。

1)数据的生成和分类

训练集,验证集

分类,回归

2)训练

激活函数,成本函数(目标函数,效用函数,适应度函数):计算结果为神经网络计算结果与实际情况的偏差。训练过程为最小化成本函数。

BP算法(反向传播算法):常用实现方法:梯度递减

3)验证

常用超参:神经网络的神经元个数,神经元层数,激活函数(哪个函数用来激活神经元),学习速率(训练网络的速度)等。

4)应用

以上三步可以训练好一个模型。将模型与程序融合,该模型可以提供一个API(应用程序编程接口)供程序调用,模型计算出结果并返回给应用程序。

无监督学习

使用的数据是没有标记过的,即不知道输入数据对应的输出结果是什么。方法:读取数据,寻找数据的模型和规律。

聚类:将相似数据归为一组。

异常检测:寻找异常。

半监督学习

训练中使用的数据小部分为标记过的,大部分为未标记的。半监督学习比监督学习成本低,并且准确度也较高。

无标记也能提高准确率的解释:即使不知道正确答案,但可以知道输入数据长什么样,有什么可能的取值。

拟合

定义:把平面上一系列的点,用一条光滑的曲线连接起来。

常用方法:最小二乘曲线拟合法。b=y(平均)-a*x(平均)

数值分析的三大基础工具:拟合,插值,逼近。拟合:已知点列,从整体上靠近它们;插值:已知点列并且完全经过点列;逼近:已知曲线或者点列,通过逼近使得构造的函数无限接近它们。

如果待定函数是线性,就叫线性拟合或线形回归(主要在统计中)。否则叫非线性拟合或非线性回归,表达式可以是分段函数,这种叫情况下叫样条拟合。

过拟合

为了得到一致假设而使假设变得过度严格。

定义:给定一个假设空间H,一个假设a属于H,如果存在其他的假设b属于H,使得在训练样例上a的错误率比b小,但在整个实例分布上b比a的错误率小,那么就说假设a过度拟合训练数据。

判断方法:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合现象。

常见原因:1,建模样本选取有误,如,样本数量太少,样本方法错误,样本标签错误等,导致选取的样本数据不足以代表预定的分类规则;

2,样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则;

3,假设的模型无法合理存在或假设成立的条件实际并不成立;

4,参数太多,模型复杂程度过高;

5,对于决策树模型,如果我们对于生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据或非事件数据,使其虽然可以完美匹配(拟合)训练数据,但是无法适应其他数据集。

6,对于神经网络模型:a)对样本数据可能存在分类决策面不唯一,随着学习的进行,BP算法使权值可能收敛过于复杂的决策面;b)权值学习迭代次数足够多,拟合了训练数据中的噪声和训练样例中没有代表性的特征。

解决方法:

1,在神经网络模型中,可以使用权值衰减的方法,即每次迭代过程中以某个小因子降低每个权值。

2,选取合适的停止训练标准,使对机器的训练在合适的程度;

3,保留验证数据集,对训练成果进行验证;

4,获取额外数据进行交叉验证;

5,正则化,即在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项,一般有L1正则与L2正则等。


欠拟合

模型没有很好地捕捉到数据特征,不能很好地拟合数据。

解决方法:1,添加其他特征项。特征添加的重要手段:“组合”“泛化”“相关性”;特征添加:“上下文特征”“平台特征”等;

2,添加多项式特征,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强;

3,减少正则化参数,正则化的目的是防止过拟合,所以现在模型出现了欠拟合,则需要减少正则化参数。


回归与分类

区别在于输出变量的类型

回归:定量输出,连续变量预测,例,预测明天的气温是多少度。

分类:定性输出,离散变量预测,例,预测明天是阴,晴,还是雨。


损失函数
一种衡量损失和错误(这种损失与“错误地”估计有关,如费用或者设备的损失)程度的函数。
通常机器学习每一个算法中都会有一个目标函数,算法的求解过程是通过对这个目标函数优化的过程。在分类或者回归问题中,通常使用损失函数(代价函数)作为其目标函数。损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的算法使用的损失函数不一样。

损失函数分为:
经验风险损失函数:预测结果和实际结果的差别;
结构风险损失函数:经验风险损失函数加上正则项。通常表示为如下:

1,0-1损失函数与绝对值损失函数

0-1损失是指,预测值和目标值不相等为1,否则为0:
感知机用的就是这种损失函数。但由于相等这个条件太过严格,因此我们可以放宽条件,即满足 时认为相等。
绝对值损失函数为:

2.log对数损失函数
逻辑斯特回归的损失函数就是对数损失函数,在逻辑斯特回归的推导中,它假设样本服从伯努利(0-1)分布,然后求得满足该分布的似然函数,接着用对数求极值。逻辑斯特回归并没有求对数似然函数的最大值,而是把极大化当做一个思想,进而推导它的风险函数为最小化的负的似然函数。从损失函数的角度上,它就成为了log损失函数。

log损失函数的标准形式:
在极大似然估计中,通常都是先取对数再求导,再找极值点,这样做是方便计算极大似然估计。损失函数L(Y,P(Y|X))是指样本X在分类Y的情况下,使概率P(Y|X)达到最大值(利用已知的样本分布,找到最大概率导致这种分布的参数值)

3,平方损失函数
最小二乘法是线性回归的一种方法,它将回归的问题转化为了凸优化的问题。最小二乘法的基本原则是:最优拟合曲线应该使得所有点到回归直线的距离和最小。通常用欧几里得距离进行距离的度量。平方损失的损失函数为:

4,指数损失函数
AdaBoost就是以指数损失函数为损失函数的。
指数损失函数的标准形式:

5,Hinge损失函数
Hinge损失函数和SVM是息息相关的。在线性支持向量机中,最优化问题可以等价于:
这个式子和如下的式子非常像:

其中 就是Hinge损失函数,后面相当于L2正则项。
Hinge函数的标准形式:

y是预测值,在-1到+1之间,t为目标值(-1或+1)。其含义为,y的值在-1和+1之间就可以了,并不鼓励|y|>1,即并不鼓励分类器过度自信,让某个正确分类的样本的距离分割线超过1并不会有任何奖励,从而使分类器可以更专注于整体的分类误差。

凸函数
只要证明我们求解的问题是凸函数,最终得到的解一定是全局最优解。
概念:
设f(x)在[a,b]上连续,在(a,b)内存在一阶和二阶导数,那么,
(1)若在(a,b)内f''(x)>0,则f(x)在[a,b]上是凹的;Concave

(2)若在(a,b)内f''(x)<0,则f(x)在[a,b]上是凸的。Convex

凸集

在实数R上(或复数C上)的向量空间中,如果集合S中任两点的连线上的点都在S内,则集合S称为凸集。

常见的凸集

1,超平面


2,半空间

类似于一个分割超平面将空间切成两半的感觉


3,多面体

4,常见的圆、椭圆、椭球,球体等

常见的凸函数


凸优化问题的基本形式



注:仿射函数即由1阶多项式构成的函数,一般形式为f(x)=Ax+b,这里,A是一个m*k矩阵,x是一个k向量,b是一个m向量,实际上反映了一种从k维到m维的空间映射关系。

凸优化问题的性质:

1,凸优化问题的可行域为凸集

2,凸优化问题的局部最优解即为全局最优解

连续特征、离散特征

连续特征离散化

交叉验证

定义

交叉验证,有时也称作循环估计,是一种统计学上将数据样本切割成较小子集的实用方法。主要用于建模应用中,例如PCR、PLS回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分的预报误差,记录它们的平方加和。

思想介绍

在实际训练中,训练结果对于训练集的拟合程度挺好,但对于训练集之外的数据的拟合程度通常不怎么令人满意。因此我们通常不会把所有的数据集都拿来训练,而是将原始数据进行分组,一部分作为训练集,另一部分作为验证集,首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此来作为评价分类器的性能指标。

目的

为了得到可靠稳定的模型。

常用的精度测试方法主要是交叉验证,例如10折交叉验证,将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的统计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。

常见形式

Holdout验证

常识说,Holdout验证并非一种交叉验证,因为数据并没有交叉使用。随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当训练数据。一般来说,少于原样本1/3的数据被选作验证数据。

K折交叉验证

初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其他结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

留一验证

只使用原样本中的一项来当做验证资料,而剩余的则当做训练资料。这个步骤一直持续到每个样本都被当做一次验证资料。

梯度下降法

网页

One-hot编码

又称为一位有效编码,主要采用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。

在实际的机器学习的应用任务中,特征有时候并不总是连续值,有可能是一些分类值,如性别可分为“male”和“female”。对其进行特征数字化,如:

。性别:["male","famale"]

。地区:["Europe","US","Asia"]

。浏览器:["Firefox","Chrome","Safari","Internet Explorer"]

"male"则对应[1,0],同理“US”对应着[0,1,0],“Internet Explorer”对应[0,0,0,1]。则完整的特征数字化的结果为:[1,0,0,1,0,0,0,0,1]。这样导致的一个结果就是数据会变得非常的稀疏。

实际的Python代码


正则化

网页

线性回归

网页

逻辑回归

网页

决策树

点击打开链接

KNN

点击打开链接

Kmeans

点击打开链接

支持向量机

点击打开链接

神经网络(NN)

点击打开链接

推荐系统

点击打开链接






















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值