Vago Mundo

尘世闲游,听凭风引

    SMO算法

    计算方法

    引言 我们知道,对于软间隔支持向量机,我们最后往往是求解其满足KKT条件的对偶问题: \[\max\quad f(\alpha)=\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^\top x_j\\ s.t.\quad\sum_{i=1}^m\alpha_iy_i=0\\\...

    Kaggle月赛记录

    TPS June

    我们第一次尝试在网页端嵌入PDF: This browser does not support PDFs. Please download the PDF to view it: Download PDF. </embed>

    RandomForest的使用

    调参记录

    引言 本文是笔者在参加Kaggle月赛,使用模型时调参实验记录,供自己和他人的日后参考。 问题引入 比赛任务是对一个200000条,75个特征,9个类别的有标签数据进行学习,然后对一个100000条的无标签数据集进行预测,然后对数据进行对数损失评估: \[\text{loss}=-\dfrac{1}{N}\sum_{i=1}^N\sum_{j=1}^M y_{ij}p_{ij}\] ...

    主成分分析

    习题课摘录

    引言 本文本是没有必要写的,但5月17日早上发生的一系列事情导致我等乐子人无暇听课,详情参考《枕溪本纪》。本文是对习题课上关于PCA内容的整理与复习。 问题引入 在一个正交属性空间的样本点集合中,我们如何使用一个超平面对所有样本进行恰当表达?说起来可能难以理解,我们用下面的图距离,比如我们有个三个特征的样本点集: 它们是没有类别标签的,但我们还是想根据已知数据将这些样本进行分类,...

    Numpy与数据结构

    维数与运算

    引言 NumPy是Python语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。由于Numpy是用C编写,因而它弥补了Python语言本身速度慢的缺点。但随着深入使用Numpy,我们发现这样的一个问题,作为Numpy的核心数据结构ndarray,它的维度对于初学者来说难以捉摸,虽然在表示上无伤大雅,但是一旦涉及到矩阵的运算,则会引发难以琢磨的错...

    感知机算法

    理论与Python实现

    引言 在刚开始阅读《统计学习方法》的感知机部分时,就发现它和支持向量机模型极为相似,因此阅读起来颇为轻松,但两种模型仍存在区别,不能相提并论. 感知机模型 模型的形式化定义 先来看感知机模型的形式化定义,它就是一个从特征空间$\mathcal{X}\subseteq\mathbb{R}^n$到输入空间$\mathcal{Y}=\{+1,-1\}$的一个函数: \[f(x)=\tex...

    PID算法

    推导与解析

    引言 PID算法是一种比较常用的飞行控制算法,但实际上,PID算法思想能够应用在很多需要控制在稳态的系统中(比如温控)。本文我们尝试用举例和纯数学推导,来证明PID算法的合理性。 公式框架 作为控制算法,PID必然是应用在一个反馈系统中: 算法的特点是涉及到积分和微分: \[U(t)=K_p(err(t)+\dfrac{1}{T_t}\int_0^t err(t)\...

    支持向量机

    公式推导

    问题概述 我们的目标就是 \[\begin{aligned} &\mathop{\max}\limits_{\pmb{w},{b}}\dfrac{2}{\|\pmb{w}\|}\\ &\text{s.t. }y_i(\pmb{w}^\top\pmb{x}_i+b)\ge1,i=1,2,...,m. \end{aligned}\tag{1}\] 转换为最小化问题: ...

    可变长参数方法汇总

    Varargs in C/C++, Python and Java

    引言 在完成第二次操作系统实验时,遇到printf函数自实现的任务: int printf(const char* format, ...); 虽然但是,我又一次忘记$\text{C}$的可变长参数的用法。然后又发现,$\text{C++}$,$\text{Python}$和$\text{Java}$其实都有可变长参数的用法,但我现在只记得$\text{Java}$的,所以作此文来复...

    Ubuntu18.04/20.04美化

    美化过程自动化

    引言 不是说Ubuntu的原装界面和终端不好用,而是我们确实可以通过工具来提高界面和终端的质量,从而实现使用的便捷和效率的提升,这一点,我在安装16.04后发现其窗口按钮和Windows完全相反后,感觉更加明显。本文是为自己和读者提供一个美化Ubuntu界面以及终端的思路,同时将过程自动化,实现开箱即用. 界面美化 美化工具的安装 我们首先要安装美化工具: sudo apt ins...