在我们日常生活中,我们经常会遇到使用到预测的事例,而预测的值一般可以是连续的,或离散的。比如,在天气预报中,预测明天的最高温,最低温(连续),亦或是明天是否下雨(离散)。在机器学习中,预测连续性变量的模型称为回归(Regression)模型,比如标准的线性回归,多项式回归;预测离散型变量的模型称为分类(Classification)模型,比如这里要介绍的逻辑回归和以后要提到的支持向量机(SVM)等。
【图解例说机器学习】线性回归
本文字数: 22k 阅读时长 ≈ 31 分钟
线性回归之于机器学习,正如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 |
【漫漫科研路\LaTeX】使用Sublime Text3撰写科研论文
本文字数: 2.6k 阅读时长 ≈ 4 分钟
在之前的一篇文章《使用Vim撰写科研论文》中,我提到了曾经在Windows系统中使用Sublime+TexLive+SumatraPDF的组合来进行科研工作。现在介绍如何使用sublime来编辑LaTeX论文,真是恰逢其时。由于疫情原因在家隔离(家在湖北),只能使用我淘汰已久,赋闲在家的windows笔记本来进行科研工作。为此,在配置编辑环境的同时,我顺便来介绍其流程。毕竟,使用IDE来编写科研论文的人占绝大多数,使用Vim编写LaTeX的可能是凤毛麟角。因此,使用Sublime编写LaTeX可以看成两者的一个折中选择。
【图解例说机器学习】K最近邻 (KNN)
本文字数: 9.2k 阅读时长 ≈ 13 分钟
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$时,二维特征空间划分图。
【漫漫科研路\pgfplots】画双Y坐标图
本文字数: 1.5k 阅读时长 ≈ 2 分钟
在科研论文写作中,经常会遇到画描述tradeoff的仿真图。比如在5G相关的研究中,经常会出现能效与时延的tradeoff。本文主要介绍如何在论文仿真部分,根据仿真结果(存储于.dat文件中)绘制双Y坐标的曲线。
【漫漫科研路\LaTeX】使用Vim撰写科研论文
本文字数: 3.4k 阅读时长 ≈ 5 分钟
【漫漫科研路\pgfplots】克服绘制色温图时,数据量大出现的内存限制
本文字数: 2k 阅读时长 ≈ 3 分钟
在科研论文写作中,经常会遇到画色温图,3D图。此时一般输入的数据量比较大,导致在Latex中使用Tikz画图时出现内存不足的情况。常常报错如下:
1 | ! TeX capacity exceeded, sorry [main memory size=5000000]. |
参考pgfplots手册中的第六章,我们有以下解决方案:
- 使用LuaTex进行编译
有些版本不含LuaTex - 对输入数据采样降低数据量
不是从本质上解决问题,降低了精度 - 使用其它软件画图,e.g., MATLAB
- 增大LaTex的编译内存
【漫漫科研路\pgfplots】画局部放大图
本文字数: 4.6k 阅读时长 ≈ 7 分钟
在科研论文写作中,我们经常需要放大局部图片来显示细节,即绘制图中图。在Matlab中可以使用magnify或则axes函数,网上有很多例子,这里不再赘述。本文主要讲解如何使用tikz/pgfplots来画局部放大图中图。
【漫漫科研路】科研环境软硬件
本文字数: 1.5k 阅读时长 ≈ 2 分钟
本文旨在向大家推荐个人在科研过程中觉得还不错的硬件和软件。
【漫漫科研路\C&C++】CPLEX解SOCP问题
本文字数: 6.3k 阅读时长 ≈ 9 分钟
IBM CPLEX可以解SOCP问题,但是需要先将这个SOCP问题化为指定的格式。本文首先介绍SOCP问题,然后举例介绍如何将SOCP问题转化为CPLEX认可的输入格式并求解。