算法 - 插入排序

概述

插入排序是最简单的排序算法,类似于整理扑克牌。假设左手拿牌,右手抽牌,当抽到第一张牌时直接放在左手中,以后每次抽到一张新牌,都需要对左手中已经排好序的牌进行从右向左一张一张的比较,直到找到比这张新牌小的一张牌,然后将这张新牌放到这张比它小的牌的后面。

继续阅读全文 »

线性代数 - 复向量与复矩阵

概述

本文的内容如下:

  • 复数的概念
  • 复向量与复矩阵
  • 傅里叶矩阵与快速傅里叶变换

继续阅读全文 »

机器学习 - 局部加权线性回归

(本系列的 Jupyter Notebook 可以到我的码云下载。)

概述

局部加权线性回归(Locally Weighted Linear Regression, LWLR)是一种非参数算法。与k近邻类似,它并没有模型参数,也没有训练过程,而是直接使用整个数据集来做预测。它的核心思想是:在做预测时,更多地参考距离预测样本近的已知样本,而更少地参考距离预测样本远的已知样本。

继续阅读全文 »

机器学习 - 逻辑回归

(本系列的 Jupyter Notebook 可以到我的码云下载。)

简介

逻辑回归是用来解决分类任务的,比如判断邮件是否垃圾邮件,肿瘤是否良性等。与线性回归一样,逻辑回归的输入也是一系列特征值,但是输出为 1 和 0 的分类。比如判断邮件是否垃圾邮件时,输入为邮件的关键词,输出为 1 表示垃圾邮件,0 表示非垃圾邮件;判断肿瘤是否良性时,输入的是病人的年龄和肿瘤大小,输出 1 表示肿瘤为良性,输出 0 表示肿瘤为恶性。本篇从零开始讲解逻辑回归。

继续阅读全文 »

机器学习 - 过拟合与欠拟合

(本系列的 Jupyter Notebook 可以到我的码云下载。)

概述

过拟合与欠拟合是训练模型时经常遇到的现象。拟合表示模型与训练集的贴合程度。过拟合表示模型过于贴合训练集从而导致模型的泛化能力低的现象。欠拟合表示模型无法贴合训练集从而导致模型的泛化能力低的现象。本篇教程将通过实例讲解上述概念。

继续阅读全文 »