机器学习

数据标注工具总结

Images 图像 labelImg – LabelImg is a graphical image annotation tool and label object bounding boxes in images CVAT – Powerful and efficient Computer Vision Annotion Tool labelme – Image Polygonal Annotation with Python VoTT – An open source annotation and labeling tool for image and video assets imglab – A web based tool to label images for objects that can be used to train dlib or other object detectors Yolo_mark – GUI for marking bounded boxes of objects in images for training ...

Supervised Learning监督学习 vs Unsupervised Learning非监督学习|机器学习

Supervised Learning Data: (x, y) x is data, y is label Goal: Learn a function to map x -> y Examples: Classification,  regression, object detection,  semantic segmentation, image  captioning, etc. Unsupervised Learning Data: x Just data, no labels! Goal: Learn some underlying  hidden structure of the data Examples: Clustering,  dimensionality reduction, feature  learning, density estimation, etc.        

神经网络入门

  三起两落的发展历史 (一起)1958年,单层神经元搭建成感知机。首个可以学习的神经网络。 (一落)1969年,感知机被数学公式证明只有单层的神经网络无法解决“异或问题(xor)”,只能将层数拓展到两层或以上才可能解决,由于此时计算机性能限制,无法做到。 (二起)1986,BP反向传播被提出 (二落)1995,SVM支持向量机被提出,SVM不需要调节参数,神经网络进入第二个寒冬。 (三起)2006年,DBN深层次神经网络出现,2012年CNN卷积神经网络在图像识别领域的突出表现,神经网络再次兴起。  

什么是机器学习?从分辨猫狗说起|以分类问题为例|机器学习入门|极简|大白话

  一两岁的孩子就可以区分猫和狗了,然而,此时的孩子可能还不会“猫”或“狗”的发音,更不懂猫狗都是哺乳动物、所属猫科或犬科等。 实际上,父母只需要给孩子一些看图识物的图片,然后给孩子说哪些是狗哪些是猫,慢慢的孩子在户外遇到真实的猫狗时也会分辨出来了。 SO.孩子是如何分辨出猫狗呢?我们能不能用计算机模仿一两岁孩子的思维呢?能否让计算机分辨出猫狗呢?     很自然的一个想法就是,我们做一个计算机程序模拟婴幼儿的思维,然后就可以让计算机和婴幼儿一样可以分辨猫狗了。 首先我们或许想知道一两岁孩子如何思考。人类对自己的大脑如何记忆思考一直都有研究,神经系统科学家知道大脑的哪一块区域做什么工作,遇到一些事情时候哪一块大脑会兴奋,单个神经元如何工作,然而很遗憾的是人类对大脑中那么多的神经细胞之间如何在一起完成复杂思维的研究还有一大段路要走,即使婴幼儿也是!人类很伟大有没有!     回到我们的问题,我们是不是一定要制造出一个“类脑”的计算机才可以分辨出猫狗吗? 当然不是! 我们可以利用机器学习采用模拟人类学习的方法实现某些人类才可以完成的思维活动,例如这儿一两岁小孩就可以做到的分辨猫...

层次聚类

聚类:聚类是一种无监督的学习算法。 集群是指聚合数据点的组,因为它们之间存在某些相似性。 聚类算法对数据点进行分组,而不引用已知或标记的结果。 聚类算法通常有两种,即K-means聚类和层次聚类。在本教程中,我们将理解和实现层次聚类。 层次聚类: 这是一种无监督的聚类算法,可以采用自上而下或自下而上的方法对数据点进行聚类。可以通过树状层次结构直观地理解层次结构群集的工作原理,即,如何在子文件夹中组织不同的文件,在子文件夹中组织文件夹的方式。基于它们的方法,此算法有两个基本区别。 聚集层次聚类-遵循自下而上的方法 可分割的层次聚类-遵循从上到下的方法 在本教程中,我们将专注于聚集层次聚类。 聚集层次聚类: 在这种技术中,最初,每个数据点被当作一个单独的簇。然后,基于彼此之间的相似性,在每次迭代时将相似的聚类合并在一起。该算法一直运行到找到一个群集或定义数量的群集为止。 该算法如何工作? 该算法的工作步骤如下 步骤1:使每个数据点成为一个单点群集。形成N个簇。 步骤2:选取两个最接近的数据点并将它们设为一个簇。形成N-1个簇。 步骤3:选取两个最接近的群集,并将它们设为一个群集。形成N-2个簇 步骤4:重复步骤3,直到只有一个...

K均值聚类

聚类:聚类是一种无监督的学习算法。集群是指聚合数据点的组,因为它们之间存在某些相似性。 聚类算法对数据点进行分组,而不引用已知或标记的结果。 聚类算法通常有两种,即K-means聚类和层次聚类。 在本教程中,我们将了解和实现其中最简单的一种-K-means聚类。 K均值聚类算法将数据点分类为预定义数量的组K,其中每个数据点均属于具有最均值的组或聚类。数据点基于其特征的相似性进行聚类。该算法以迭代的方式将每个数据点分配给K个组之一,以使该组的质心(即簇的中心)与数据点之间的距离(即Euclidian或Manhattan)较小。该算法产生了K个最大可能不同的不同簇。   该算法如何工作: K-均值聚类采用迭代方法来执行聚类任务。该算法的工作步骤如下: 步骤1:选择簇数K。 第2步:在任意K点选择质心(不一定从我们的数据集中)。 步骤3:根据欧式距离或曼哈顿距离,将每个数据点分配给最近的质心。形成K个簇。 步骤4:计算并放置每个群集的新质心。 步骤5.将每个数据点重新分配给新的最近的质心。如果发生任何重新分配,请转到步骤4。 如果质心已经稳定,这意味着将不会创建或优化聚类,这意味着不会发生新的数据点重新分配或算法达到了定义的迭代...