机器学习

Spark机器学习库(MLlib)指南

淺唱寂寞╮ 提交于 2021-02-16 23:12:55
机器学习库(MLlib)指南 MLlib是Spark的机器学习(ML)库。机器学习具有可扩展性和易用性。 提供高级API ,它提供了以下工具: ML算法:常见的学习算法,如分类、回归、聚类和协同过滤 特征化:特征提取、变换、降维和选择 管道:用于构建、评估和调优ML管道的工具 持久性:保存和加载算法、模型和管道 实用程序:线性代数,统计学,数据处理等。 声明:基于DataFrame的API是主要API 基于MLlib RDD的API现在处于维护模式。 从Spark 2.0开始,在 spark.mllib 程序包已进入维护模式。Spark的主要机器学习API现在是 DataFrame -based API spark.ml 。 有什么影响 ? MLlib将支持基于RDD的API spark.mllib 以及错误修复。 MLlib不会为基于RDD的API添加新功能 。 在Spark 2.x版本中,MLlib将为基于DataFrames的API添加功能,以实现与基于RDD的API的功能奇偶校验。 在达到功能奇偶校验(粗略估计Spark 2.3)之后,将弃用基于RDD的API。 The RDD-based API is expected to be removed in Spark 3.0. 预计将在Spark 3.0中删除基于RDD的API。

机器学习-初识SVM(1)

喜欢而已 提交于 2021-02-16 21:53:48
概述 支持向量机(support vector)算法是分类算法里应用最为广泛的一种算法,基本上能解决所有分类问题,尤其是二分类问题。很多机器学习的教材都把支持向量机算法作为第一算法介绍,可见其重要性。 在CSDN看到了一个大佬举的例子,很有意思。 某日,见篮球红球于一个桌子上,欲分之。 插一根筷子于红篮球之间,则红篮球可分。 不料随着球越来越多,一红球出界毁吾之分割。可惜可气。 不服,遂变化筷子方向则又可分红篮球也。 终于有体会,欲合理分清红篮之球,必使得近处红篮求于筷子越远越好。 他日,又偶遇如下一堆红蓝球,吾又欲分之。 拿起筷子比划半天无从分离,百思不得其解,大怒,猛一拍桌。 见桌上之球于空中仿佛有可分之势,蓝上红下。大喜,顺势抽一张纸隔于蓝红球之间,则蓝红之球可分。 遂可得,若桌面上不可分(2维),则拍桌,将球腾空而起(3维),则可分之。 以上便是SVM的故事。 SVM通常用来进行模式识别、分类以及回归分析,它特别适合安全领域里面的非黑即白。 间隔和支持向量 上述例子中,那根分割红篮球的筷子就叫做划分超平面。将其定义为 f(x)=ω T x+b=0,ω为法向量,决定了超平面的方向,b是位移项,决定了超平面与原点之间的距离,有没有觉得很熟悉,这就是直线的定义啊。那球到筷子的距离不就是点到直线的距离嘛: (1) 上述公式只表示距离,这里我们不光要知道的是距离

机器学习之样本不均衡

余生长醉 提交于 2021-02-16 17:46:28
以下内容是个人通过查阅网上相关资料总结出的内容 具体说明数据不均衡会带来的问题: 1) 在一个二分类问题中,训练集中 class 1的样本数比class 2的样本数是60:1。使用逻辑回归进行分类, 最后训练出的模型可能会忽略了 class 2,即模型可能会将所有的训练样本都分类为class 1。 2)在分类任务的数据集中,有三个类别,分别为A,B,C。在训练集中,A类的样本占70%,B类的样本占25%,C类的样本占5%。最后我的 分类器对类 A的样本过拟合了,而对其它两个类别的样本欠拟合。 那么该如何解决这种样本不均衡问题? 1) 过抽样 抽样是处理不平衡数据的最常用方法, 基本思想就是通过改变训练数据的分布来消除或减小数据的不平衡。 过抽样方法通过增加少数类样本来提高少数类的分类性能 , 最简单的办法是简单复制少数类样本,缺点是可能导致过拟合,没有给少数类增加任何新的信息。 改进的过抽样方法通过在少数类中加入随机高斯噪声或 产生新的合成样本 等方法。 如何解决过采样中只是简单的复制少数类样本所带来的过拟合缺点? 采用过采样的典型算法 SMOTE(它是通过对训练集里的小样本类别进行插值来产生额外的小样本类别数据) 2) 欠抽样 欠抽样方法通过减少多数类样本来提高少数类的分类性能,最 简单的方法是通过随机地去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类的一些重要信息

机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)

浪尽此生 提交于 2021-02-16 16:30:49
1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2) # 对两个图像关键点进行连线操作 参数说明:imageA和imageB表示图片,kpsA和kpsB表示关键点, matches表示进过cv2.BFMatcher获得的匹配的索引值,也有距离, flags表示有几个图像 书籍的SIFT特征点连接: 第一步:使用sift.detectAndComputer找出关键点和sift特征向量 第二步:构建BFMatcher()蛮力匹配器,bf.match匹配sift特征向量,使用的是欧式距离 第三步:根据匹配结果matches.distance对matches按照距离进行排序 第四步:进行画图操作,使用cv2.drawMatches进行画图操作 import cv2 import numpy as np # 读入图片 imgA = cv2.imread( ' box.png ' , 0) imgB = cv2.imread( ' box_in_scene.png ' , 0) def cv_show(img, name): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows() # 第一步:构造sift

机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单...

倖福魔咒の 提交于 2021-02-16 14:01:04
1. sift.detectAndComputer(gray, None) # 计算出图像的关键点和sift特征向量 参数说明:gray表示输入的图片 2.cv2.findHomography(kpA, kpB, cv2.RANSAC, reproThresh) # 计算出单应性矩阵 参数说明:kpA表示图像A关键点的坐标, kpB图像B关键点的坐标, 使用随机抽样一致性算法来进行迭代,reproThresh表示每次抽取样本的个数 3.cv2.warpPespective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0])) # 获得根据单应性矩阵变化后的图像 参数说明:image表示输入图像,H表示单应性的矩阵,(imageA.shape[1] + imageB.shape[1], imageA.shape[0])表示矩阵变化后的维度 4. cv2.line(imageA, kpsA, imageB, kpsB, (0,0,255), 2) 进行画出直线的操作 参数说明:imageA和imageB表示输入图片, kpsA和kpsB表示关键点的坐标(x, y) ,(0, 0, 255)表示颜色, 2表示直线的宽度 RANSAC算法(随机抽样一致性算法), 对于左边的图

神经网络浅讲:从神经元到深度学习

。_饼干妹妹 提交于 2021-02-16 10:21:25
人工智能AI与大数据技术实战 公众号: weic2c 神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向 -- 深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。   本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文。   神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有 1000 亿个神经元之多。 图1 人脑神经网络   那么机器学习中的神经网络是如何实现这种模拟的,并且达到一个惊人的良好效果的?通过本文,你可以了解到这些问题的答案,同时还能知道神经网络的历史,以及如何较好地学习它。   由于本文较长,为方便读者,以下是本文的目录:   一.前言   二.神经元   三.单层神经网络(感知器)   四.两层神经网络(多层感知器)   五.多层神经网络(深度学习)   六.回顾   七.展望   八.总结   九.后记   十.备注 一. 前言   让我们来看一个经典的神经网络。这是一个包含三个层次的神经网络。红色的是 输入层 ,绿色的是 输出层 ,紫色的是 中间层 (也叫 隐藏层 )。输入层有 3 个输入 单元,隐藏层有 4 个 单元

TensorFlow中最大的30个机器学习数据集

為{幸葍}努か 提交于 2021-02-16 10:12:50
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者: Limarc Ambalina 编译:ronghuaiyang 导读 包括图像,视频,音频,文本,非常的全。 largest tensorflow datasets for machine learning 由谷歌Brain的研究人员创建的TensorFlow是机器学习和数据科学领域最大的开源数据库之一。它是一个端到端的平台,适用于初学者和有经验的数据科学家。TensorFlow库包括工具、预训练模型、机器学习指南,以及开放数据集的语料库。为了帮助你找到所需的训练数据,本文将简要介绍一些用于机器学习的最大的TensorFlow数据集。我们已经将下面的列表分为图像、视频、音频和文本数据集。 图像数据集 1、 CelebA : 最大的公开的人脸图像数据集之一,名人脸属性数据集(CelebA)包含超过20万名名人的图像。 celebrity face images dataset 每幅图像包含5个面部特征点和40个二值属性标注。 2、 Downsampled Imagenet :该数据集用于密度估计和生成建模任务。它包含130多万幅物体、场景、车辆、人物等图像。这些图像有两种分辨率:32 x 32和64 x 64。 3、 Lsun – Lsun是一个大型图像数据集,用于帮助训练模型理解场景。数据集包含超过900万张图像

[硬核科普]神经网络:从神经元到深度学习

僤鯓⒐⒋嵵緔 提交于 2021-02-16 10:01:57
“ 原作者 :计算机的潜意识 重新排版 :「曲水流觞TechRill 」 , 转载请同时注明两个出处。 全文 :18K字,阅读需1小时 原文 : https://www.cnblogs.com/subconscious/p/5058741.html ” 神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。 本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些 ‍‍‍‍‍ ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ ‍‍‍ 机器学习 参见本公众号另一篇: [硬核科普]从机器学习谈起 基础会更好地帮助理解本文。 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。 图1 人脑神经网络 那么机器学习中的神经网络是如何实现这种模拟的,并且达到一个惊人的良好效果的?通过本文,你可以了解到这些问题的答案,同时还能知道神经网络的历史,以及如何较好地学习它。 由于本文较长,为方便读者,以下是本文的目录: 一.[前言] 二.[神经元] 三.[单层神经网络(感知器)] 四.[两层神经网络(多层感知器)] 五.[多层神经网络

12.19 相约北京!云原生 Meetup | KubeSphere & Friends 2020

牧云@^-^@ 提交于 2021-02-16 08:23:16
KubeSphere v3.0 发布是 KubeSphere 社区最重要的里程碑,v3.0 刚刚 GA 发布了两个多月,就受到了来自合作伙伴、用户、贡献者等多方面的高度认可。例如, KubeSphere 上架 AWS Quickstart 深度集成 Amazon EKS,还与 AWS、Cisco、Intel 等国际巨头厂商发布了联合解决方案;KubeSphere 在头部互联网和金融行业也有了更多的用户落地实践,比如 中通基于 KubeSphere 构建了大规模的 ZKE 容器平台 , 微众银行基于 KubeSphere 打造了一站式云原生机器学习平台 Prophecis , 遥望网络使用 KubeSphere 支撑了 “双十一” 活动完成了 13.2 亿规模的交易 ;开源社区贡献者数量的增长也迎来了新的一轮井喷,几个核心开源项目的贡献者总数已经超过了 100 人。 KubeSphere 之所以能够如此快速发展,得益于开源社区带来的天然优势,以及社区里长期活跃的用户、贡献者积极参与社区,帮助推动产品和社区快速成长, 我们坚持认为 KubeSphere 开源社区的每一位用户和贡献者朋友都是 KubeSphere 生态中的重要组成部分 。为了跟社区朋友们零距离交流,12 月 19 日,KubeSphere 社区联合 CNCF 将在北京举办一场年度的云原生 Meetup,

机器学习画图神器来啦!PPT下载!

江枫思渺然 提交于 2021-02-16 02:11:52
↑↑↑点击上方 蓝字 ,回复 资料 ,10个G的惊喜 作者:蛋酱、小舟,编辑:机器之心 神经网络画图神器 ML Visuals 正在持续更新。 去年 5 月,机器之心曾向大家推荐一款名为 ML Visuals 的机器学习画图模板,该项目受到广泛关注,迄今已收获 2.2K Star。ML Visuals 专为解决神经网络画图问题设计,最近,这一模板进行了更新。( 文末附PPT下载链接 ) 项目地址:https://github.com/dair-ai/ml-visuals ML Visuals 现在包含了 100 多个可用的自定义图形,使用者可以在任何论文、博客、PPT 中使用这些资源。 这份 101 页的模板共包含几个部分: 基础组件 架构 机器学习概念 抽象背景 渐变背景 机器学习 & 健康 其他 机器学习系统设计 基础组件 这套画图模板首先提供了多种基础组件,比如表示过程、操作或转换的圆角矩形,表示神经元或任意操作的小圆圈,表示向量的一排小方块以及表示多维数组的网格等。 架构 架构部分的模板数量最多,共有 32 张。对于复杂的模型架构来说,套模板显然事半功倍,比亲手画图要便捷得多。 比如,画出卷积操作的示意图: 使用该模板重现一些经典架构也是得心应手,比如下图是使用该模板绘制的 Transformer 架构图: 机器学习概念 该模板还可以用来表示机器学习中的一些基本概念,比如