聚类

机器学习流程,常规算法,降维方法

好久不见. 提交于 2020-05-07 01:51:01
1 场景解析: a.数据探查(数据量的大小,数据缺失或乱码,ETL 操作,字段类型,是否含有目标队列) b.场景抽象(是通过已有的数据,挖掘出可以应用的业务场景。机器学习主要用来解决的场景包括二分类、多分类、聚类和回归) c.算法选择(是确定算法范围、多算法尝试和多视角分析寻找最适合自身业务的算法) 2 数据预处理:采样、去噪、归一化(0,1)和数据过滤,把数据挖掘看成做一道菜的话,数据预处 理就是选择和清洗蔬菜的过程,这一步没做好会影响整个菜品的口感. 3.特征工程:是特征抽象(将源数据抽象成算法可以理解的数据)、特征重要性评估、特征衍生(特征衍生的方法来挖掘更有价值的特)和特征降维几个方面(主成分分析。PCA 通过线性映射投影的方法,把高维的数据映射到了低维的空间中,线性判别式分析LDA) 时间戳,二值类问题,多值有序类问题,多值无序类问题(信息阉割),多值无序类问题(One-hot 编码),文本类型,图像或语音数据(先将图像或者语音转化成矩 阵结构). 4.模型搭建,评估,调优 5.结果输出和分析 常规算法 deep learing 反向传播算法又称BP 算法(backpropagation algorithm),是一种监督学习算法 算法的核心思想是求导的链式法则。BP 算法常被用来求解神经网络中的最优化问题,跟 浅层算法的最优化求解不同的地方是BP

Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想

浪子不回头ぞ 提交于 2020-05-06 18:00:14
Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 目录 Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 0x00 摘要 0x01 Flink 是什么 0x02 Alink 是什么 0x03 Alink设计思路 1. 白手起家 2. 替代品如何造成威胁 3. 用户角度看设计 底层逻辑Flink 开发工具 4. 竞争对手角度看设计 5. 企业角度看设计 6. 设计原则总结 0x04 KMeans算法实现看设计 1. KMeans算法 2. Flink KMeans例子 3. Alink KMeans示例 KMeansTrainBatchOp KMeansPreallocateCentroid KMeansAssignCluster KMeansUpdateCentroids 4. 区别 代码量 耦合度 编程模式 0x05 参考 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文将带领大家从多重角度出发来分析推测Alink的设计思路。 因为Alink的公开资料太少,所以以下均为自行揣测,肯定会有疏漏错误,希望大家指出,我会随时更新。 0x01 Flink 是什么 Apache Flink 是由Apache软件基金会开发的开源流处理框架

Windows版YOLOv4目标检测实战:训练自己的数据集

∥☆過路亽.° 提交于 2020-05-06 10:18:50
课程链接: https://edu.51cto.com/course/22982.html 课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 https://edu.51cto.com/course/22982.html YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外

提臂、握拳、翻肘!简单手势+肌肉信号近乎“无缝”操控无人机

我只是一个虾纸丫 提交于 2020-05-06 07:24:15
  爱因斯坦曾说,“唯一真正有价值的东西是直觉”。    但直觉这种东西很难言传身教,尤其是对机器而言。如何让机器感知人类直觉并作出正确的反馈?这可能是每个人都会关心的问题。      我们想与机器实现如人与人间那样的无缝交流,但使用预先指定的语音/触摸屏命令或设置复杂的传感器后,往往让机器变得很笨拙。让机器理解我们的非语言暗示,比如手势,可能是实现更广泛人机协作的重要一步。此外,肌肉信号也可以为机器提供难以从视觉上观察到的状态信息。    一项来自麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)研究学者的新研究,或许可以实现“近乎无缝”的人机协作。相关论文已发表在本月 ACM/IEEE 国际人机交互会议上。   “我们设想这样一个世界——机器可以帮助人类进行认知和体力劳动。但要做到这一点,机器需要主动适应人类,而不是人类去适应机器。”麻省理工学院计算机科学与人工智能实验室主管、论文作者之一丹妮拉·罗斯(Daniela Rus)教授说。   在一个名为“Conduct-A-Bot”的系统中,研究人员通过在肱二头肌、肱三头肌和前臂上放置肌电图和运动传感器,使用简单手势和肌肉信号成功操控了机器的动作。该系统旨在减少普通用户与机器交互的障碍,通过使用少量可穿戴传感器和即插即用的机器学习算法,为人类与机器助手或其他电子设备进行更自然的交流建立了新的可能。   研究学者表示

《基于大数据的高考志愿辅助填报系统设计与实现》论文笔记(十三)

99封情书 提交于 2020-05-06 07:02:57
一、基本信息 标题:基于大数据的高考志愿辅助填报系统设计与实现 时间:2019 来源: 河北软件职业技术学院 关键词: 高考志愿填报; 数据挖掘; C#; React; 二、研究内容 1.主要内容 高考志愿填报是一项复杂的系统工程,需要搜集多方信息,综合考虑考生分数、院校招生计划、报考热度、专业发展前景、考生个人兴趣以及 家庭情况等因素。文章充分分析了考生在志愿填报过程中可能遇到的各类问题,通过大数据分析与数据挖掘,建立了高校招生信息数据挖掘系统,并应用 ASP.NET MVC 设计模式,在.NET 平台上开发了 B/S结构高考志愿辅助填报系统,提供院校/专业查询,具有数据分析、投档分析、模拟填报等功能。 2.系统设计存在的问题 高考志愿辅助填报系统是针对考生需求而设计的,因而首先综合分析了考生在填报志愿过程中存在的问题: (1)面对互联网海量的高校宣传信息,考生缺乏快速、准确辨识有用信息的甄别能力。 (2)考生对自身的职业倾向不明确,对高校的专业设置、专业发展前景、就业方向缺乏明确认识。 (3)对目标院校的录取分数、招生计划、报考人数、区域分布缺乏数据分析能力,出现高分低就、落榜等现象,影响人生规划。 在此基础上,文章设计开发了高考志愿辅助填报系统。系统主要由高考志愿辅助填报系统和高考招生信息数据挖掘系统两大功能模块和高考志愿填报 数据库组成。 3. 高考志愿辅助填报系统设计

scikit-learn与数据预处理

只愿长相守 提交于 2020-05-06 03:22:56
1 引言 ¶ 预处理操作是机器学习整个周期中必不可少的一个过程,也是最能快速改善模型性能的一个过程,往往稍微转换一下特征属性的形态,就能得到性能的极大提升。当然,数据预处理绝对也是耗时最长的一个过程,这一过程不仅要求洞悉整个数据集结构分布,还要探查每一个特征属性细节情况,并作出应对处理,使数据以最适合的状态传输给模型。 针对预处理操作,sklearn中提供了许多模块工具,灵活使用工具可以让数据预处理轻松很多。 本文简要介绍数据预处理中的一些主要方法,并结合sklearn中提供的模块进行实践。 2 无量纲化 ¶ 对于大部分机器学习任务而言,对原始数据进行无量纲化是是建模前的必不可少的一个环节。通过无量纲化,可以消除量纲不一致对模型造成的不良影响。标准化和归一化是最为常见的两种无量纲化方法,下面分别展开介绍这两种方法。 2.1 标准化 ¶ 标准化对数据的分布的进行转换,使其符合某种分布(一般指正态分布)的一种特征变换。一般而言,标准化都是指通过z-score的方法将数据转换为服从均值为0,标准差为1的标准正态分布数据,通过如下公式进行转换: $$x' = \frac{{x - \mu }}{\sigma }$$ 式中,$\mu$和$\sigma$是指$x$所在特征属性集的均值和标准差。 (1)sklearn.preprocessing.scale方法实现标准化 In [1]: from

scikit-learn 4.2 Feature extraction特征提取

冷暖自知 提交于 2020-05-06 01:48:21
4.2 特征提取 sklearn.feature_extraction 模块可以被用来从包含文本或者特片的数据集中提取出适用于机器学习算法的特征。 注意:特征提取和特征选择是极不相同的:前者由任意数据组成,比如文本或者图片,转换为适用于机器学习的数字。后者是应用于这些特征的机器学习方法。 4.2.1 从字典中加载特征 类DictVectorizer可以将由python标准的列表dict对象所表示的特征转换为由scikit-learn中常用的NumPy/SciPy所表示的对象。 虽然 dict 处理起来不是特别快,但是其优势在于方便的使用,创建系数矩阵(缺失值不会被存储)以及将特征名字存储与值上。 DictVectorizer 可以创建我们 称之为 one-of-K 或者" one-hot "编码用于分类特征(又名 aka nominal,discrete )特征。分类特征是"属性 - 值"对,值限制为一系列的无序离散变量(比如,主题标识、对象类型、标记、名字。。。) 在下面的例子中,"城市"是一个分类属性,"温度"是另一个数值特征: >>> measurements = [ ... {'city': 'Dubai', 'temperature': 33.}, ... {'city': 'London', 'temperature': 12.}, ... {'city': 'San

tf idf公式及sklearn中TfidfVectorizer

别等时光非礼了梦想. 提交于 2020-05-06 00:28:19
    在 文本挖掘预处理之向量化与Hash Trick 中我们讲到在文本挖掘的预处理中,向量化之后一般都伴随着TF-IDF的处理,那么什么是TF-IDF,为什么一般我们要加这一步预处理呢?这里就对TF-IDF的原理做一个总结。 1. 文本向量化特征的不足     在将文本分词并向量化后,我们可以得到词汇表中每个词在各个文本中形成的词向量,比如在 文本挖掘预处理之向量化与Hash Trick 这篇文章中,我们将下面4个短文本做了词频统计: corpus=[ " I come to China to travel " , " This is a car polupar in China " , " I love tea and Apple " , " The work is to write some papers in science " ]     不考虑停用词,处理后得到的词向量如下: [[0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 1 0 0] [0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0] [1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0] [0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1]]     如果我们直接将统计词频后的19维特征做为文本分类的输入

人机智能既不是人类智能,也不是人工智能

依然范特西╮ 提交于 2020-05-04 14:08:53
来源:人机与认知实验室 从前,一个教授,去一个穷乡僻壤里头坐船过江,就问船上的船工:你学点数学没有?没有。你学点物理没有?没有。那懂不懂计算机啊?不懂。 教授感叹这三样都不会,你的人生已经失去了一半。隔了一会乌云密布,狂风四起,船工问:你会游泳吗?教授说不会。“那你可能要失去整个生命了!” 人机融合就是把教授和船工结合起来的智能 根据过去数据计算现在和未来是数学常用的手段,根据未来期望算计现在和过去才是人智的方法。 我们知道的远比我们说出来的要多得多,我们不知道的远比我们知道的要多得多,我们不知道我们不知道的远比我们不知道的要多得多…… 人类的感觉刺激、信息是动态分类,聚类,不是一次完成的,而是多次弥聚变化的(这种轮回机制目前尚未搞清楚)。 大道无形的道是碎片的、流性的……所以正是零碎的规则、概率、知识、数据、行为构成了人的智能,即在千奇百怪的日常异构活动情境中生成演化出来的。人智,从一开始就不是形式化、逻辑化的,而且人的逻辑是为非逻辑服务定制的,机器则相反,从一开始就是条理化了、程序化的,也是为人的非逻辑服务的。 本质上,数据的标记与信息的表征不同之处在于有无意义的出现,意义即是否理解了可能性。机涉及的表征体系虽然是人制定赋予的,但一诞生就已失去了本应的活性,即意向性参与下的各种属性、关系灵活连接和缝合,而人的诸多表征方式则常常让上帝都不知所措:一花一世界,一树一菩提

文本挖掘预处理之向量化与Hash Trick

醉酒当歌 提交于 2020-05-04 10:40:14
    在 文本挖掘的分词原理 中,我们讲到了文本挖掘的预处理的关键一步:“分词”,而在做了分词后,如果我们是做文本分类聚类,则后面关键的特征预处理步骤有向量化或向量化的特例Hash Trick,本文我们就对向量化和特例Hash Trick预处理方法做一个总结。 1. 词袋模型     在讲向量化与Hash Trick之前,我们先说说词袋模型(Bag of Words,简称BoW)。词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑所有词的权重。而权重与词在文本中出现的频率有关。     词袋模型首先会进行分词,在分词之后,通过统计每个词在文本中出现的次数,我们就可以得到该文本基于词的特征,如果将各个文本样本的这些词与对应的词频放在一起,就是我们常说的向量化。向量化完毕后一般也会使用TF-IDF进行特征的权重修正,再将特征进行标准化。 再进行一些其他的特征工程后,就可以将数据带入机器学习算法进行分类聚类了。     总结下词袋模型的三部曲:分词(tokenizing),统计修订词特征值(counting)与标准化(normalizing)。     与词袋模型非常类似的一个模型是词集模型(Set of Words,简称SoW),和词袋模型唯一的不同是它仅仅考虑词是否在文本中出现,而不考虑词频。也就是一个词在文本在文本中出现1次和多次特征处理是一样的。在大多数时候