0%

机器学习的过程大致分为三步:1)模型假设,比如我们假设模型是线性回归,还是多项式回归,以及其阶数的选择;2)误差函数定义,比如我们假设误差函数是均方误差,还是交叉熵;3)参数求解,比如使用正规方程,还是梯度下降等。

这篇文章主要讨论模型的选择问题,下面以多项式回归为例进行说明


阅读全文 »

在我们日常生活中,我们经常会遇到使用到预测的事例,而预测的值一般可以是连续的,或离散的。比如,在天气预报中,预测明天的最高温,最低温(连续),亦或是明天是否下雨(离散)。在机器学习中,预测连续性变量的模型称为回归(Regression)模型,比如标准的线性回归,多项式回归;预测离散型变量的模型称为分类(Classification)模型,比如这里要介绍的逻辑回归和以后要提到的支持向量机(SVM)等。


阅读全文 »

线性回归之于机器学习,正如Hello World之于编程语言,也如MINST之于深度学习。

首先,我们先定义一些即将用到的数学符号:

Notations Meaning Notations Meaning
$M$ Number of parameters $\mathrm w$ $N$ Number of instances
$\mathrm X=\{\mathrm x_1,\mathrm x_2,\cdots,\mathrm x_N\}^{\mathrm T}$ $N\times M$ matrix for training $D$ Number of features
$\mathrm y=\{y_1,y_2,\cdots,y_N\}^\mathrm{T}$ Set of targets $y_i$ Target of instance $i$
$\mathrm{x}_i=\{x_i^{(1)},x_i^{(2)},\cdots,x_i^{(D)}\}^\mathrm{T}$ Set of features for instance $i$ $x_i^{(j)}$ Feature $j$ for instance $i$
$\mathrm w=\{\omega_1,\omega_2,\cdots,\omega_M\}^\mathrm{T}$ Weights of input $\mathrm x$ $\omega_i$ Weight of feature $i$
$\phi=\{\phi_1,\phi_2,\cdots,\phi_M\}^\mathrm{T}$ Set of functions $\phi_i(\mathrm x)$ Function of features

阅读全文 »

在之前的一篇文章《使用Vim撰写科研论文》中,我提到了曾经在Windows系统中使用Sublime+TexLive+SumatraPDF的组合来进行科研工作。现在介绍如何使用sublime来编辑LaTeX论文,真是恰逢其时。由于疫情原因在家隔离(家在湖北),只能使用我淘汰已久,赋闲在家的windows笔记本来进行科研工作。为此,在配置编辑环境的同时,我顺便来介绍其流程。毕竟,使用IDE来编写科研论文的人占绝大多数,使用Vim编写LaTeX的可能是凤毛麟角。因此,使用Sublime编写LaTeX可以看成两者的一个折中选择。

阅读全文 »

kNN (k-nearest neighbor)的定义

针对一个测试实例,在给定训练集中,基于某种距离度量找到与之最近的k个实例点,然后基于这k个最邻近实例点的信息,以某种决策规则来对该测试实例进行分类或回归。

由定义可知,$kNN$模型包含三个基本要素:距离度量、k值选择以及决策规则。再详细描述这三要素之前,我们先用一个样图来简单描述$kNN$分类模型的效果。

我们以二维平面为例,假设输入的训练集格式为$(x_1,x_2,l)$,其中$x_1, x_2$为横纵坐标,$l$为标签。这里我们考虑$k=1,3$的情况,决策规则为多数投票规则,即测试实例与k个实例中的多数属于同一类。图$1,2$分别是$k=1,3$时,二维特征空间划分图。

图1

阅读全文 »

在科研论文写作中,经常会遇到画描述tradeoff的仿真图。比如在5G相关的研究中,经常会出现能效与时延的tradeoff。本文主要介绍如何在论文仿真部分,根据仿真结果(存储于.dat文件中)绘制双Y坐标的曲线。

阅读全文 »

工欲善其事,必先利其器。

本文介绍如何使用Vim作为编辑器进行科研工作。一般来说,在学术界,使用Vim来写论文的人应该很少。即使是在工程界,大部分也都是使用的是各种IDE,使用Vim来编写代码的也属少数。大多数科研工作者一般都是使用WinEdtLyxTeXstudio等集成IDE,其中Lyx所见即所得的效果比较好。

阅读全文 »

在科研论文写作中,经常会遇到画色温图,3D图。此时一般输入的数据量比较大,导致在Latex中使用Tikz画图时出现内存不足的情况。常常报错如下:

1
! TeX capacity exceeded, sorry [main memory size=5000000].

参考pgfplots手册中的第六章,我们有以下解决方案:

  • 使用LuaTex进行编译
    有些版本不含LuaTex
  • 对输入数据采样降低数据量
    不是从本质上解决问题,降低了精度
  • 使用其它软件画图,e.g., MATLAB
  • 增大LaTex的编译内存
阅读全文 »

在科研论文写作中,我们经常需要放大局部图片来显示细节,即绘制图中图。在Matlab中可以使用magnify或则axes函数,网上有很多例子,这里不再赘述。本文主要讲解如何使用tikz/pgfplots来画局部放大图中图。

阅读全文 »