无需Python、Anaconda和其他爬虫的机器学习

不,当然,我不是认真的。 简化主题的程度必须是有限的。 但对于第一阶段,了解基本概念并快速“进入”主题,可能还可以。 最后我们将讨论如何正确命名该材料(选项:“傻瓜机器学习”、“尿布数据分析”、“小孩子算法”)。

说到点子上了。 在 MS Excel 中编写了多个应用程序,用于可视化和可视化表示分析数据时不同机器学习方法中发生的过程。 毕竟,眼见为实,正如该文化的承载者所说,这些方法中的大部分都是由它开发出来的(顺便说一句,不是全部)。最强大的“支持向量机”(SVM),支持向量机是我们的同胞弗拉基米尔·瓦普尼克 (Vladimir Vapnik),莫斯科管理学院。顺便说一下,1963 年!但现在他在美国任教和工作)。

三个文件供审查

1.K均值聚类

这类问题指的是“无监督学习”,即我们需要将初始数据划分为预先已知的一定数量的类别,但我们没有任何数量的“正确答案”;我们必须从数据本身中提取它们。 寻找鸢尾花亚种的基本经典问题(Ronald Fisher,1936!)被认为是该知识领域的第一个标志,也正是具有这种性质。

方法非常简单。 我们有一组表示为向量的对象(N 个数字的集合)。 在鸢尾花中,这些是表征花朵特征的 4 个数字组:分别是花被的外叶和内叶的长度和宽度(费舍尔虹膜 - 维基百科)。 通常的笛卡尔度量被选择为距离或对象之间接近度的度量。

接下来,随机(或非随机,见下文)选择聚类中心,并计算每个对象到聚类中心的距离。 给定迭代步骤中的每个对象都被标记为属于最近的中心。 然后将每个簇的中心转移到其成员坐标的算术平均值(类比物理学,也称为“质心”),并重复该过程。

该过程收敛得相当快。 在二维图片中,它看起来像这样:

1.平面上点的初始随机分布和簇的数量

无需Python、Anaconda和其他爬虫的机器学习

2. 指定聚类中心并为其聚类分配点

无需Python、Anaconda和其他爬虫的机器学习

3. 传输聚类中心坐标,重新计算点的隶属关系,直至中心稳定。 簇中心移动到最终位置的轨迹是可见的。

无需Python、Anaconda和其他爬虫的机器学习

您可以随时设置新的聚类中心(无需生成新的点分布!),并且可以看到划分过程并不总是明确的。 从数学上讲,这意味着对于正在优化的函数(从点到其簇中心的距离平方和),我们发现的不是全局最小值,而是局部最小值。 这个问题可以通过非随机选择初始聚类中心,或者通过枚举可能的中心来解决(有时将它们精确地放置在其中一个点是有利的,那么至少可以保证我们不会为空)簇)。 无论如何,有限集总是有下确界。

您可以通过此链接播放该文件 (不要忘记启用宏支持。文件已经过病毒扫描)

维基百科上对该方法的描述 - k均值法

2. 通过多项式近似和数据分解。 再培训

杰出科学家、数据科学普及者 K.V. 沃龙佐夫将机器学习方法简单地描述为“通过点绘制曲线的科学”。 在此示例中,我们将使用最小二乘法在数据中找到模式。

展示了将源数据分为“训练”和“控制”的技术,以及对数据进行再训练或“重新调整”的现象。 通过正确的近似,我们在训练数据上会有一定的误差,在控制数据上会有稍大的误差。 如果不正确,就会导致训练数据的精确调整和测试数据的巨大误差。

(众所周知,通过 N 个点可以绘制一条 N-1 次曲线,但这种方法在一般情况下不会给出所需的结果。 维基百科上的拉格朗日插值多项式)

1. 设置初始分布

无需Python、Anaconda和其他爬虫的机器学习

2. 我们将分数按照70比30的比例分为“训练”和“控制”。

无需Python、Anaconda和其他爬虫的机器学习

3.我们沿着训练点绘制近似曲线,我们看到它在控制数据上给出的误差

无需Python、Anaconda和其他爬虫的机器学习

4. 我们通过训练点绘制一条精确的曲线,我们看到控制数据上有一个巨大的错误(训练数据上的错误为零,但这有什么意义呢?)。

无需Python、Anaconda和其他爬虫的机器学习

当然,所示的是最简单的选择,将其单一划分为“训练”和“控制”子集;在一般情况下,为了对系数进行最佳调整,需要多次执行此操作。

该文件可在此处获取,已通过防病毒软件扫描。 启用宏以进行正确操作

3. 梯度下降和误差变化的动态

将有一个 4 维情况和线性回归。 线性回归系数将使用梯度下降法逐步确定,最初所有系数均为零。 单独的图表显示了随着系数调整得越来越准确,误差减少的动态。 可以查看所有四个二维投影。

如果你将梯度下降步长设置得太大,你可以看到每次我们都会跳过最小值并且会以更多的步数到达结果,尽管最终我们仍然会到达(除非我们也延迟下降步长)太多 - 那么算法将“毫无疑问”)。 并且取决于迭代步骤的误差图不会是平滑的,而是“生涩的”。

1.生成数据,设置梯度下降步长

无需Python、Anaconda和其他爬虫的机器学习

2. 通过正确选择梯度下降步长,我们可以顺利快速地达到最小值

无需Python、Anaconda和其他爬虫的机器学习

3. 如果梯度下降步长选择不正确,我们会超过最大值,误差图会“生涩”,收敛需要更多的步数

无需Python、Anaconda和其他爬虫的机器学习
и

无需Python、Anaconda和其他爬虫的机器学习

4. 如果我们选择的梯度下降步骤完全错误,我们就会远离最小值

无需Python、Anaconda和其他爬虫的机器学习

(要使用图片中显示的梯度下降步长值重现该过程,请选中“参考数据”框)。

文件在这个链接,需要启用宏,没有病毒。

根据受人尊敬的社区的说法,这种呈现材料的简化和方法可以接受吗? 这篇文章值得翻译成英文吗?

来源: habr.com

添加评论