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

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

概述

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

继续阅读全文 »

机器学习 - 逻辑回归

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

简介

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

继续阅读全文 »

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

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

概述

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

继续阅读全文 »

机器学习 - 梯度下降

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

概述

线性回归中我们令最小二乘函数的导数等于 $0$ 求得了最小二乘法的最优解。然而并不是所有的函数都可以用这种令导数等于 $0$ 的方法求得最优解,尤其是在机器学习中,一个模型可能有成千上万的参数,每个参数的指数也可能不为 $1$ 。因此我们需要一种更通用的求解最优化问题的算法。本篇介绍的梯度下降法就是最常用的一个。

梯度下降法的基本思想是用迭代的方式调整模型参数以减小损失函数的值。当损失函数达到最小值(或极小值)时模型的参数就是最优解。

继续阅读全文 »

机器学习 - 线性回归

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

概述

本篇教程讲述线性回归,那么什么是线性回归呢?

首先举个例子,我们去市场买牛肉,一斤牛肉52块钱,两斤牛肉104块钱,三斤牛肉156块钱,以此类推。也是说牛肉的价格随着牛肉斤数的增加而有规律地增加,这种规律可以用下图表示:

牛肉斤数vs价格

可以看到上述规律可以用一条直线来表述,这就是一个线性模型。用 $x$ 表示牛肉斤数,用 $y$ 表示价格,就得到下面的方程:


$$ y = 52x \tag{1} $$

这个方程就叫做回归方程,$52$ 叫做回归系数,求解回归系数的过程叫做回归

线性回归首先假设自变量和因变量是线性关系,然后通过对现有样本进行回归,进而计算出回归系数以确定线性模型,最后使用这个模型对未知样本进行预测。

继续阅读全文 »