机器学习
文章平均质量分 76
桓桓桓桓
这个作者很懒,什么都没留下…
展开
-
ELK 架构和 Filebeat 工作原理详解
ELK Stack 简介ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据转载 2020-08-19 14:10:45 · 1265 阅读 · 1 评论 -
推荐系统和推荐算法
1. 什么是推荐系统?推荐系统是什么?如果你是个多年电商(剁手)党,你会说是这个:如果你是名充满文艺细胞的音乐发烧友,你会答这个:如果你是位活跃在各大社交平台的点赞狂魔,你会答这个:没错,猜你喜欢、个性歌单、热点微博,这些都是推荐系统的输出内容。从这些我们就可以总结出,推荐系统到底是做什么的:目的1. 帮助用户找到想要的商品(新闻/音乐/……),发掘长尾帮用户找到想要的东西,谈何容易。商品茫茫多,甚至是我们自己,也经常点开淘宝,面对眼花缭乱的打折活动...转载 2020-05-13 16:04:44 · 1733 阅读 · 0 评论 -
协同过滤算法介绍及算法实现
一、协同过滤算法简介 协同过滤算法是一种较为著名和常用的推荐算法,它基于对用户历史行为数据的挖掘发现用户的喜好偏向,并预测用户可能喜好的产品进行推荐。也就是常见的“猜你喜欢”,和“购买了该商品的人也喜欢”等功能。它的主要实现由: ●根据和你有共同喜好的人给你推荐 ●根据你喜欢的物品给你推荐相似物品 ●根据以上条件综合推荐 因此可以得出常用的协同过滤算法分为两种,基于用户的协同过滤算法(user-based collaboratIve filtering),以及基于物品的协同过滤转载 2020-05-13 15:08:18 · 6707 阅读 · 0 评论 -
TOP 10 开源的推荐系统简介
最 近这两年推荐系统特别火,本文搜集整理了一些比较好的开源推荐系统,即有轻量级的适用于做研究的SVDFeature、LibMF、LibFM等,也有重 量级的适用于工业系统的 Mahout、Oryx、EasyRecd等,供大家参考。PS:这里的top 10仅代表个人观点。#1.SVDFeature主页:http://svdfeature.apexlab.org/wiki/Main_Page语言:C++一个feature-based协同过滤和排序工具,由上海交大Apex实验室开发,代码质量较高。.转载 2020-05-12 15:44:09 · 589 阅读 · 0 评论 -
利用Python搭建用户画像系统
用户画像是当下很多企业都会提及的概念,多数情况下会和大数据以及营销挂钩。本文将对用户画像的相关知识进行进行简单的介绍,并利用Python去实现一个简单的用户画像系统。1.什么是用户画像用户画像可以理解成是海量数据的标签,根据用户的目标、行为和观点的差异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,形成一个人物原型 。用户画像 =...原创 2019-12-31 12:40:34 · 36319 阅读 · 17 评论 -
K最近邻算法(kNN)
“近朱者赤,近墨者黑”,这句话大家都听说过,意思是靠着朱砂的变红,靠着墨的变黑。比喻接近好人可以使人变好,接近坏人可以使人变坏,指客观环境对人有很大影响。在现实的生活中我们都知道,想要了解一个人,一个比较靠谱的办法就是从他身边的朋友就看出来。本文介绍的K最近邻(k-Nearest Neighbor,KNN)算法,其指导思想就是“近朱者赤,近墨者黑”,由你身边的朋友推断你的类别。kNN是一种原创 2017-05-05 19:08:15 · 1707 阅读 · 0 评论 -
K均值聚类--利用k-means算法分析NBA近四年球队实力
分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。聚类属于无监督学习,相比于分类,聚类不依赖预定义的类和类标号的训练实例。本文首先介绍聚类的基础——距离与相异度,然后介绍一种常见的聚类算法——k-mea原创 2017-05-04 16:28:14 · 9013 阅读 · 0 评论 -
朴素贝叶斯分类(Naive Bayes)--检测APP中的僵尸账号
最近,接到上头的一个任务,需要检测一下我们APP中的“僵尸账号”比例,所谓的“僵尸账号”是指长时间没有操作或者相关活动的账号,我们该如何去解决这个问题呢?当我接到这个问题,我的第一个反应就是:哦,就是把我们的注册用户进行分类,一种为僵尸账号,另外一种为非僵尸账号。有了这个认识,我们就想,需要如何分类呢?或者说用什么方法来分类呢?接下来我介绍一种简单的分类方法,朴素贝叶斯分类,朴素贝叶斯分类是一原创 2017-05-03 19:06:38 · 1211 阅读 · 0 评论 -
人工神经网络(ANN)
神经网络模型具有高度的并行性、高度的非线性全局作用、良好的容错性与联想记忆功能、十分强的自适应自学习功能等突出优点。1. 人工神经网络简介人工神经网络的研究是由模拟生物神经系统而激发的,人类的大脑主要由称为神经元(neuron)的神经细胞组成。类似于人脑的结构,人工神经网络的基本处理单元为人工神经元,这些神经元以简化的形式模仿自然界的生物神经,人工神经网络是由大量的人工神经元广泛互原创 2017-05-16 15:46:58 · 1837 阅读 · 0 评论 -
支持向量机(SVM)
什么是支持向量机模型?支持向量机(SVM)是一种有监督学习的算法,它可以用来处理分类和回归的问题。然而,实际应用中,SVM 主要用来处理分类问题。在这个算法中,首先我们将所有点画在一个 n 维空间中(其中 n 代表特征个数)。然后我们通过寻找较好区分两类样本的超平面来对数据进行分类处理(如下图所示)。支持向量是观测值的坐标,支持向量机是隔离两个类别的最佳边界(超平面)。转载 2017-05-15 14:47:57 · 1059 阅读 · 0 评论 -
A星算法
之前做的一个项目,现在才把它记录下来,项目中有一个这样功能,用户在地图上面选择起点、终点,需要在地图上面寻找一条最短的路径并显示到地图上。在寻路中有两个比较常用的算法,一个迪杰斯特(Dijkstra)算法,迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。因为它是一个广原创 2015-12-04 19:23:45 · 5768 阅读 · 0 评论 -
蚁群算法
蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结原创 2015-12-04 20:13:10 · 2447 阅读 · 0 评论 -
余弦匹配算法
最近在做一个通讯交友的项目,项目中有一个这样的需求,通过用户的兴趣爱好,为用户寻找推荐兴趣相近的好友。其实思路好简单,把用户的兴趣爱好和其他用户的兴趣爱好进行一个匹配,当他们的爱好相似度比较高的时候就给双方进行推荐。那么如何进行比较是一个问题,其实我们可以通过余弦匹配算法来对用户的兴趣爱好进行比较,根据计算出来的值来得到一个兴趣爱好相近好友列表,并进行排序。因为我做的项目是Android端的,原创 2015-12-04 12:59:38 · 7285 阅读 · 0 评论 -
查找最近的点
查找一个点的最近点可以应用到很多的地方,下面是我写的一个实例,找到一个点的最近点。package com.test;import java.util.List;/*********************************************** ** 创建人: 黎荣恒 ** 日 期 : 2015-9-21 上午11:08:02 ** 描述 : 点信息 ** *原创 2015-12-07 16:40:43 · 3026 阅读 · 0 评论 -
过拟合(overfitting)
在用机器学习搭建模型时,经常会碰到这样一种情况,你的模型算法在样本数据中匹配的非常完美。但用新数据测试,发现模型结果和实际差距非常大。那么恭喜你!你掉进了机器学习中常见的一个大坑——过拟合。什么是过拟合呢?机器学习本质上是通过建立数据模型,使其和现有数据相吻合,从而找到数据中内在的规律。如下面三张图,x表示训练样本数据,蓝色线条表示建立的数据模型。第一张图:虽然模型原创 2017-05-12 14:09:04 · 863 阅读 · 0 评论 -
一元线性回归应用--分析评估需求的开发时间
去年的一段时间,工作非常忙碌,项目的需求一个接着一个,简直让人头皮发麻啊。当然,每次新需求出来上头总需要给一个合理的排期,以便按时按质完成。今年相对去年来说没那么忙碌,于是抽空写了这篇博客,也算是一个小小的总结吧。下面来说一下本人是如何进行新需求开发时间的评估,也算是自己对以前知识的回顾和学以致用的思想。假设我们软件开发的工时和需求的用例、实体数量、涉及的数据表数量相关,以历史数据为训练样本:原创 2017-05-03 17:12:53 · 950 阅读 · 0 评论