欠拟合(Underfitting)与过拟合(Overfitting)
欠拟合指预测值f(x)还没有接近真实值y。解决欠拟合是优先的。
过拟合是指预测值与真实值匹配得太好,前面提到过,会有泛化的问题。解决这个问题往往需要更大的精力。
对样本匹配得太好,对数据总体往往不是好事。
参数优化parameter optimization:
调整参数,使预测值越来越准。这个过程氷是参数优化。
每一个权重的集合都表示一个关是“输出input意味着什么,它和label是什么关系”的特定假设。
所有可能的权重集合就表示问题域的假设空间。
通过损失函数和优化算法,我们要干的事就是搜素整个假设空间,找到最好的假设。
样本量越大,假设空间就越大,存在最好假设的可能性就越大。
机器学习的工作主要就是确定参数向量中,哪个有用,哪个没有,有多大的用。
决策边界:指由线性模型的参数向量创建的超平面。
成本:拟合线与真实点之间的距离,是机器学习的核心。距离的总和要最小,即最小损失。
三维空间中,就是坡峰和坡谷,优化算法就是告诉坡度的。
参数VS超参数:
超参数决定了模型学习速度,参数决定了模型最终是否准确。
调优的参数就是超参数,它决定了控制优化和模型选择。
收敛Convergence:能找到一个参数向量,使损失最小。
模型三组件:
1. 参数。转化输入,以帮助网络分类。
2. 损失函数:度量每一步分类的准确性。
3. 优化函数:把模型引向最小损失。(更新函数An update function,损失函数的导数)
凸优化:
MLE:maximum likelihood estimation
最大可能性和最小成本是同一问题的两种描述方法。
凸面:把一块方布的四个角捏在双手里,向中间靠一点,中间就会向下坠。再一个例子就是碗。这些都是是凸面。
凸面可以让算法得知,下一步朝那个方向走才能得到更好的参数向量。
坡度下降gradient descent:一个地形图,坡峰表示误差大,坡谷表示误差小。初值的选择需要基于领域知识或随机值。
目标:让其尽快下坡。
坡度下降能感觉到每个权重的实际坡度,或方向,即权重变化引起的损失的变化,即权重的一阶导,导数向了优化算法下一步的方向。
反复执行如下操作:
损失函数计算损失--》损失函数一阶导明确方向--》优化,损失函数计算损失--》损失函数一阶导明确方向。。。
当一阶导为0时,得到不动点,即可能是极值点。
f(x,y)对x的偏导,它描述了在x方向上的最大变化速度。二元微分中,就是正切。
线性模型就是凸优化,它一般只有一个最优点。
坡度下降的缺点:
1.其它的非线性模型可能有好几个坡谷,找到的可能不是全局最优。只有一个全局最优,其它都是局部最优。后面讲如何找到全局最优。
2.特征没有标准化,导致找到最陡坡度的时间不一样。
随机坡度下降Stochastic Gradient Descent SGD:
差异:坡度下降是计算所有样本的损失总和,再计算坡度,更新参数向量。
随机坡度下降是每做一个样本,做一次损失计算,它是全批量的一个估计,更快,并发性更好。
小批量与SGD:
是SGD的一个变体,性能更好,收敛更平滑,能更好的利用硬件如GPU。
准牛顿优化法:在搜索方向上与其它方法不同。
雅可比Jacobian矩阵:
Hessian矩阵:
Hessian计算困难,使用准牛顿算法做近似估计,如L-BFGS。
generative model:学习联合分布p(x, y),生成一个概率图模型,表达x,y的关系。
discriminative model:学习条件分布,用于分类p(y|x),成生一个如果x,则y的概率图。
逻辑回归Logistic Regression:
线性分类中的著名模型,适用于0-1分类或多标签分类。
因变量是类别,自变量是特征。
形式也是:Ax = b
数据假设:f(x) = 1/(1 + e−θx) Logistic Function x:正无穷到负无穷, y: 0-1,正好是概论的范围,也用σ表示。
当连导log-sigmoid函数的范围在0-1时,就是这个样子。
成本函数:最大可能性估计
优化函数:成本函数的导数
logit函数是Logistic函数的逆函数。
混淆矩阵,又名混淆表。
FP: False Positive实际值0,预测值1称为1类错误。 01=1
FN: False Negative,实际值1,预测值0称为2类错误。 10=2
TP:True Positive,实际值1,预测值1,11=3
TN: True Negative, 实际值0,预测值0,
敏感性Sensitivity与特异性specificity:
0-1分类的两个方面。
Sensitivity,又名Recall,或true positive rate:
Sensitivity = TP / (TP + FN) 实际有病,诊断有病的正确率。因为一部分实际有病,但被诊断为没病。
Specificity = TN / (TN + FP) 实际没病,诊断没病的正确率。因为一部分实际没病,但被诊断为有病。
对于大病,要求Sensitivity高。如果两个指标都是百分百,完美。
Accuracy = (TP + TN) / (TP + FP + FN + TN)
Precision,又名positive prediction value:
Precision = TP / (TP + FP)
F1 = 2TP / (2TP + FP + FN)
Score = MIN(Precision, Recall)
欠拟合指预测值f(x)还没有接近真实值y。解决欠拟合是优先的。
过拟合是指预测值与真实值匹配得太好,前面提到过,会有泛化的问题。解决这个问题往往需要更大的精力。
对样本匹配得太好,对数据总体往往不是好事。
参数优化parameter optimization:
调整参数,使预测值越来越准。这个过程氷是参数优化。
每一个权重的集合都表示一个关是“输出input意味着什么,它和label是什么关系”的特定假设。
所有可能的权重集合就表示问题域的假设空间。
通过损失函数和优化算法,我们要干的事就是搜素整个假设空间,找到最好的假设。
样本量越大,假设空间就越大,存在最好假设的可能性就越大。
机器学习的工作主要就是确定参数向量中,哪个有用,哪个没有,有多大的用。
决策边界:指由线性模型的参数向量创建的超平面。
成本:拟合线与真实点之间的距离,是机器学习的核心。距离的总和要最小,即最小损失。
三维空间中,就是坡峰和坡谷,优化算法就是告诉坡度的。
参数VS超参数:
超参数决定了模型学习速度,参数决定了模型最终是否准确。
调优的参数就是超参数,它决定了控制优化和模型选择。
收敛Convergence:能找到一个参数向量,使损失最小。
模型三组件:
1. 参数。转化输入,以帮助网络分类。
2. 损失函数:度量每一步分类的准确性。
3. 优化函数:把模型引向最小损失。(更新函数An update function,损失函数的导数)
凸优化:
MLE:maximum likelihood estimation
最大可能性和最小成本是同一问题的两种描述方法。
凸面:把一块方布的四个角捏在双手里,向中间靠一点,中间就会向下坠。再一个例子就是碗。这些都是是凸面。
凸面可以让算法得知,下一步朝那个方向走才能得到更好的参数向量。
坡度下降gradient descent:一个地形图,坡峰表示误差大,坡谷表示误差小。初值的选择需要基于领域知识或随机值。
目标:让其尽快下坡。
坡度下降能感觉到每个权重的实际坡度,或方向,即权重变化引起的损失的变化,即权重的一阶导,导数向了优化算法下一步的方向。
反复执行如下操作:
损失函数计算损失--》损失函数一阶导明确方向--》优化,损失函数计算损失--》损失函数一阶导明确方向。。。
当一阶导为0时,得到不动点,即可能是极值点。
f(x,y)对x的偏导,它描述了在x方向上的最大变化速度。二元微分中,就是正切。
线性模型就是凸优化,它一般只有一个最优点。
坡度下降的缺点:
1.其它的非线性模型可能有好几个坡谷,找到的可能不是全局最优。只有一个全局最优,其它都是局部最优。后面讲如何找到全局最优。
2.特征没有标准化,导致找到最陡坡度的时间不一样。
随机坡度下降Stochastic Gradient Descent SGD:
差异:坡度下降是计算所有样本的损失总和,再计算坡度,更新参数向量。
随机坡度下降是每做一个样本,做一次损失计算,它是全批量的一个估计,更快,并发性更好。
小批量与SGD:
是SGD的一个变体,性能更好,收敛更平滑,能更好的利用硬件如GPU。
准牛顿优化法:在搜索方向上与其它方法不同。
雅可比Jacobian矩阵:
Hessian矩阵:
Hessian计算困难,使用准牛顿算法做近似估计,如L-BFGS。
generative model:学习联合分布p(x, y),生成一个概率图模型,表达x,y的关系。
discriminative model:学习条件分布,用于分类p(y|x),成生一个如果x,则y的概率图。
逻辑回归Logistic Regression:
线性分类中的著名模型,适用于0-1分类或多标签分类。
因变量是类别,自变量是特征。
形式也是:Ax = b
数据假设:f(x) = 1/(1 + e−θx) Logistic Function x:正无穷到负无穷, y: 0-1,正好是概论的范围,也用σ表示。
当连导log-sigmoid函数的范围在0-1时,就是这个样子。
成本函数:最大可能性估计
优化函数:成本函数的导数
logit函数是Logistic函数的逆函数。
混淆矩阵,又名混淆表。
FP: False Positive实际值0,预测值1称为1类错误。 01=1
FN: False Negative,实际值1,预测值0称为2类错误。 10=2
TP:True Positive,实际值1,预测值1,11=3
TN: True Negative, 实际值0,预测值0,
敏感性Sensitivity与特异性specificity:
0-1分类的两个方面。
Sensitivity,又名Recall,或true positive rate:
Sensitivity = TP / (TP + FN) 实际有病,诊断有病的正确率。因为一部分实际有病,但被诊断为没病。
Specificity = TN / (TN + FP) 实际没病,诊断没病的正确率。因为一部分实际没病,但被诊断为有病。
对于大病,要求Sensitivity高。如果两个指标都是百分百,完美。
Accuracy = (TP + TN) / (TP + FP + FN + TN)
Precision,又名positive prediction value:
Precision = TP / (TP + FP)
F1 = 2TP / (2TP + FP + FN)
Score = MIN(Precision, Recall)