所有文章
卷积神经网络 CNN 对 fer2013 数据集进行人脸表情识别
使用 Keras 构建卷积神经网络,对 Block 数量、卷积核大小、Dropout rate 进行参数调优,使用数据增强方法生成模型数据缓解过拟合问题。最优模型在测试集上的分类准确率、精确率和召回率均为 63%,比基准模型的分类效果提高了约 10%。
基于 EM 算法的多元高斯混合模型聚类及其 Python 实现
基于 EM 算法,推导多元高斯混合模型聚类的参数迭代公式,并使用 Python 对数据集进行聚类和各类别的参数求解。
在编写代码的过程中,遇到了一个非常简单但一直没发现的 Bug。
定义数组用
all_density = np.array([0]*K)
,再用all_density[k] = k_density
并不会让all_density
的第k
个元素改变。这是因为all_density
是介于 0 到 1 之间的,而在定义all_density
的时候没有指定数组内部的数据类型,默认是不支持小数的,因此赋值之后all_density
的第k
个元素仍然是 0。解决方法:定义数组的时候一定要指定元素的数据类型,指定为
dtype=flout64
就可以存储高精度的浮点数。
使用 sklearn 实现决策树分类算法
基于 Information Value 对类别特征进行初步筛选,使用 sklearn 实现决策树分类算法,对客户流失情况进行分类预测,汇报 Accuracy、Presicion、Recall、F1、AUC 等评价指标。
有约束的优化问题之 Lagrangian 乘子法、投影梯度算法和罚函数法
使用 Lagrangian 乘子法、投影梯度算法、罚函数法求解有约束的优化问题。
Lagrangian 乘子法
Lagrangian 乘子的具体形式
\[
L(x, y, \lambda) = x^2 + 5y^2 + xy + \lambda(x^2 + y^2 - 1)
\]
对偶问题
\[
\max_{\lambda} g(\lambda)\\\
\text{ s.t. } \lambda \geq 0
\]
\[
\text{where } g(\lambda) = \min_{x, y} L(x, y, \lambda)
\]