假设函数
hypothesis function
定义:
假设函数可以看做是对于已知数据建立的初始模型。
目的:
在监督学习中,为了拟合输入样本,而使用的假设函数,记为hθ(x) 。
代价函数/损失函数/误差函数
cost function/loss function/error function
定义:
概况来讲,任何能够衡量模型预测出来的值与真实值之间的差异的函数都可以叫做代价函数。
名称由来:
损失或者误差,可以理解为精度的损失或者与真实值的误差,
因为我们拟合的函数不是100%精确的,而是一个大概的。
很多机器学习场景,我们也做不到百分之拟合。
所以有了误差的说法。
目的:
为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。
解释:
代价函数是参数theta的函数。
代价函数是对目标函数求解过程中所付出的代价,
换句话说代价函数是用来求解目标函数的手段,代价函数有优化的花费。
cost function 是对数据集整体的误差描述,
是选定参数 w 和 b 后对数据进行估计所要支付的代价(求解路径),
cost 是对所有数据的误差取平均得到的。
训练过程:
当我们确定了模型h,后面做的所有事情就是训练模型的参数theta。
那么什么时候模型的训练才能结束呢?
这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,
我们的目标当然是得到最好的模型(也就是最符合训练样本的模型)。
当我们取到代价函数J的最小值时,就得到了最优的参数theta。
目标函数
目标函数在假设函数和已知数据的之间建立的函数关系,
方程的含义
带标签的有监督学习往往可以用损失函数这种式子求最小值。
损失函数是预测值与真实值的差值。
假设函数方程与高中解决的方程组区别:
高中解决的方程:
高中解决的方程往往是“权重”已知,求未知数。
是一个方程组并且有解析解:
比如3元一次方程,我们列出3组这样的方程就可以求出解析解。
假设函数方程:
样本已知,求“权重”,权重未知。
不是方程组:
只有一个方程,但有很多参数,样本也会更多。
没有解析解:
如果我们把所有样本带入到假设函数(样本有特征和标签),这样我们可以得到很多组方程。
但是不会求出解析解:
因为我们不可能找出一组参数使得所有样本满足条件。
了解这些有助于我们区分以往的代数知识与机器学习中使用到的代数知识的区别。
归一化
当有新数据加入时,可能导致max和min的变化,需要重新定义。
Min-Max
x' = (x - X\_min) / (X\_max - X\_min)
平均归一化
x' = (x - μ) / (MaxValue - MinValue)
非线性归一化
标准化
Z-score
标准差标准化 / 零均值标准化
x' = (x - μ)/σ
中心化
x' = x - μ
特征缩放
特征缩放有时能提高算法的收敛速度,特征缩放是用来标准化数据特征的范围。
x′\=x−x¯ / σ
为什么需要特征缩放?
1、可以让梯度下降的路线不是那么曲折,(等高线的椭圆与圆形)
2、使得每个特征的范围有可比性
哪些模型必须归一化/标准化?
激活函数
sigmoid 函数
sigmoid函数也叫Logistic函数。
取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,
可以用来做二分类。
当x取0,y值为0.5;值域在(0,1)之间
公式:
softmax 函数
又称归一化指数函数。
目的是将多分类的结果以概率的形式展现出来。
它是二分类函数sigmoid在多分类上的推广。
公式中k等于2的时候退化为sigmoid函数。
为什么softmax是这种形式:
1)预测的概率为非负数;
2)各种预测结果概率之和等于1。
softmax如何将多分类输出转换为概率步骤:
1)分子:通过指数函数,将实数输出映射到零到正无穷。
2)分母:将所有结果相加,进行归一化。
评估
拟合
过拟合:
严格定义“过拟合”的严格定义是什么?:训练集的error持续降低,当测试集的error开始升高的那一刻。
我们知道过拟合是在训练集上过于拟合过于表现好,而测试集上表现差。
比如我们拿到一组有“特色A”的训练集训练出模型后,恰好我们某时刻的测试集是有“特色B”的,那我们的模型表现会很差,也就引起了过拟合现象。
方差
数学上的方差表示随机变量对于数学期望的偏离程度,方差越大随机变量对均值偏离的越多,方差越小偏离的越少。
使用样本数相同的不同训练集产生的方差为:
该公式表示预测值与实际值的差值。
$f(x;D)$为使用训练集D训练得到的模型f在测试集x上预测的结果,其中D表示训练集,x表示测试集,f相当于模型函数。
$\overline{f}(x)$,期望预测,也就是针对不同数据集D,模型f对样本x的预测值取其期望,也叫做平均预测(average predicted)。
注意这里的$E_D$很重要,D表示不同数据集,E是平均期望符号,所以$E_D$表示在不同数据集上的平均表现。
偏差
偏差是衡量预测值与真实值的关系,是指预测值与真实值之间的差值。
高偏差对应欠拟合
数据与模型的关系
数据与模型之间有一种最佳匹配的关系。
一般情况下,模型固定,数据达到一定量级拟合刚刚好。
特征和数据量的关系:
todo
交叉熵
二分类与多分类交叉熵损失
yt真实。
yp预测。
样本(x,y),y是真实的标签。
第K个标签的概率为pi,k。
有k个标签值,一共有N个样本。
NLP
One hot representation
用来表示词向量非常简单。
问题:
词汇表一般都非常大,运行效率不高
Distributed representation
通过训练,将每个词都映射到一个较短的词向量上来。
所有的这些词向量就构成了词的向量空间。
一次词对应一个词向量。
word2vec工具包
将所有的词向量化。
这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。 (此处需要确认词向量为什么能度量词语词之间的关系,训练的时候租做了什么?)
学习方式:
无监督。
只需要语料本身,而不需要任何标注信息。
注意:
词向量来表示词并不是word2vec的首创。
one-hot这种用向量表示词的方法很早就存在了。
word embedding
中文名字:
(词嵌入;词向量)
特点:
word embedding是指基于神经网络来得到词向量的模型所train出来的词的向量表示。
实现:
两个实现思路:CBOW、Skip-gram
工具包:word2vec
应用:
以下几个应用方面:
* 通过计算用户和物品或物品和物品的Embedding相似度,来缩小推荐候选库的范围。
* 实现高维稀疏特征向量向低维稠密特征向量的转换。
* 训练好的embedding可以当作输入深度学习模型的特征。
CBOW
(Continuous Bag-of-Words)
特点:
不关注词之间的距离。
输入:
某一个特征词的上下文相关的词对应的词向量
输出:
上文中提到的特定某个词的词向量
此处需要确认具体输入到底是什么。
Skip-gram
输入:
特定的一个词的词向量
输出:
是特定词对应的上下文词向量
此处需要确认具体输入到底是什么。
归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)
二分类问题的交叉熵函数和多分类问题的交叉熵函数
万物皆可embedding
word2vec原理(一) CBOW与Skip-Gram模型基础
cbow与skip-gram
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。