日志

线性回归(Linear Regression)

线性回归是一种监督学习算法,它是一种回归模型,它的目标是要找到训练样本的最佳拟合直线(回归线),从而使模型可以对新数据进行预测,它的预测结果属于连续型数值。
例如:根据面积、房间数、建筑年龄预测房子的售价。

线性回归模型假设式(hypothesis):

Pasted

以均方误差(MSE)作为损失函数(cost function):

Pasted Pasted

包含L2正则项情况:

Pasted



MSE用于度量预测值与真实值的偏离程度, 以梯度下降法最小化损失函数,从而使得模型学习到合适的权重参数。

权重更新过程:

Repeat until convergence {
Pasted




}
w_(j) 代表第j个权重, i 表示第 i 个样本,α 表示学习率

转载请注明出处:

© http://hejunhao.me

日志

K-Means聚类算法(实践篇)– 基于Spark Mlib的图像压缩案例

Spark Mlib 机器学习库集成了许多常用的机器学习算法,本文以K-Means算法为例结合图像压缩案例,简单介绍K-Means的应用。关于K-Means算法理论可以参考 → K-Means聚类算法(理论篇)

案例介绍

图像压缩

1)一张图由一系列像素组成,每个像素的颜色都由R、G、B值构成(不考虑Alpha),即R、G、B构成了颜色的三个基本特征,例如一个白色的像素点可以表示为(255,255,255)。

2)一张800×600的图片有480000个颜色数据,通过K-Means算法将这些颜色数据归类到K种颜色中,通过训练模型计算原始颜色对应的颜色分类,替换后生成新的图片。

Spark Mlib K-Means应用(Java + Python)

阅读全文

日志

K-Means聚类算法(理论篇)

K-means算法是机器学习/数据挖掘领域广泛使用的聚类算法,它是一个无监督学习算法,即无需对样本进行事先标记。K-means算法通俗来说主要完成一件事:给定一个包含n个点的数据集,把该数据集划分到k个聚类中,使得各个聚类所包含的每个点到各自聚类中心的距离均小于与其他聚类中心的距离。

K-Means算法

(一)算法过程

1)确定要划分的聚类个数(K),从数据集D中任意选出K个点作为聚类中心
2)计算所有点到各个聚类中心的距离,把各个点归类到距离最近的那个聚类集中
3)计算第二步所产生的K个聚类集的中心,将该中心作为数据集D新的K个聚类中心
4)重复2)、3)直到中心点不再变化或迭代次数达到设定的最大迭代值或中心点的变化收敛于某个预定值

(二)算法分析

阅读全文

日志

方差、标准差、均方误差、协方差的区别

简单介绍 方差、标准差、均方误差、协方差的基本概念以及计算公式,以区分它们的作用。

方差(Variance)

用来度量随机变量和其数学期望(即均值)之间的偏离程度


σ^2 = \dfrac{(x_1 - \bar{X})^2 + (x_2 - \bar{X})^2 ... + (x_n - \bar{X})^2}{(n-1)} = \dfrac{\sum_{i=1}^n{(x_i - \bar{X})^2}}{(n-1)}


备注:n-1 原因是无偏估计

标准差(Standard Deviation)

又叫均方差 , 反映一个数据集的离散程度(波动大小).

标准差 = 方差的算术平方根


σ = \sqrt{\dfrac{(x_1 - \bar{X})^2 + (x_2 - \bar{X})^2 ... + (x_n - \bar{X})^2}{(n-1)}} =\sqrt{\dfrac{\sum_{i=1}^n{(x_i - \bar{X})^2}}{(n-1)}}

问:有了方差为何需要标准差?

答:标准差的量纲(单位)与数据集一致,更直观描述波动范围。

均方误差(Mean Squared Error)

用来度量预测值与真实值的偏离程度

y:预测值 , Y:真实值


MSE = \dfrac{(y_1 - Y_1)^2 + (y_2 - Y_2)^2 ... + (y_n - Y_n)^2}{n} = \dfrac{\sum_{i=1}^n{(y_i - Y_i)^2}}{n}

协方差 (Covariance)

两个变量有多大的“可能”朝一个方向改变?协方差用于度量这个“可能”的程度。如果两个变量的变化方向一致,那么协方差为正,反之为负。其中,变化指变量与它的数学期望的差值。


Cov(x,y) = \dfrac{(x_1 - \bar{X})(y_1 - \bar{Y}) + (x_2 - \bar{X})(y_2 - \bar{Y}) ... + (x_n - \bar{X})(y_n - \bar{Y})}{(n-1)}
         = \dfrac{\sum_{i=1}^n{(x_i - \bar{X})(y_i - \bar{Y})}}{(n-1)}


当 cov(x,y)>0 ,则 X 与 Y 正相关;
当 cov(x,y)<0 , 则 X 与 Y 负相关;
当 cov(x,y)=0 ,则 X 与 Y 不相关。

转载请注明出处:

© http://hejunhao.me

第 3 页,共 3 页123