[置顶] 人工神经网络(五)梯度下降法

在解决了线性求解问题之后,我们开始挑战更复杂的问题,开始研究非线性划分的问题,类似求解异或问题这样,而解决这类问题,我们先要学习一个概念,就是梯度下降(Gradient Descent),这个方法是解决机器学习领域最常采用的方法之一。梯度在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂...
阅读(109) 评论(0)

[置顶] 人工神经网络(四)感知器学习规则推导

目前我们接触到的感知器学习规则,数学建模之后,我们知道如何调整权值,使得感知器的切分符合我们的预期输入,下面我们就用一个小推导,看看感知器是如何进行权值调整的:理论判定边界 判定边界由那些使得净输入n为零的输入向量确定: n=1WTP+b=w1,1p1+w1,2p2+b 为了使该实例更加具体,现将权值和偏置值设置为: w1,1=1,w1,2=1,b=-1 那么...
阅读(98) 评论(0)

[置顶] 人工神经网络(三)单层感知器代码实现

上篇文章,我们介绍了什么是单层感知器,这节课,我们来看看如果用代码实现一个单层感知器实验问题:假设平面坐标系上有三个点(3,3),(4,3)这两个坐标点的标签为 1 ,(1,1) 这个坐标的标签为-1 ,构建神经网络来分类思路:二维数据,需要两个数据点,将神经元偏置设置成另一个输入点,一共需要三个输入点 输入数据:(1,3,3),(1,4,3),(1,1,1) 数据对应标签为(1,1,-1)...
阅读(131) 评论(0)

[置顶] 人工神经网络(二)单层感知器

单层感知器能够用来模拟逻辑函数,例如逻辑非NOT、逻辑或非XOR、逻辑或OR、逻辑与AND和逻辑与非NAND等,但是不能用来模拟逻辑异或XOR(对于这个函数,必须用两层神经元)。稍后将讨论这个问题。 除了输入之外,偏置(bias)也经常被用于每个神经元,它在通过转换函数之前被加到输入的加权和上。权值也经常被应用于偏置上。偏置决定了多少输入激活(输入的加权和)才能激发神经元进入兴奋状态。偏置往往被设定为1,而偏置的权值...
阅读(135) 评论(0)

[置顶] 人工神经网络(一)概述

机器最初被发明是为了服务人类,做人不擅长的事情,比如规律性,重复复杂运算,从第一代计算机诞生到现在,这个功能一次次提升,现在计算机核心部件cpu,在普通家用方面,比如i5-6600四个核心的计算能力大概在20gflops.,也就是每秒200亿次浮点运算,这是人类不能羡慕的一个能力,但是,机器依然限制在机械性运算上,人类发明的这个 [“脑”] 一直希望成为真正的 [“类人脑”] ,在生物领域不断突破的前提下,我们破译人...
阅读(247) 评论(0)

[置顶] flume高并发优化——(16)解决offsets变小问题

offsets初始化在上篇博客中《flume高并发优化——(14)解决空行停止收集数据问题,及offsets变小问题 》我们遗留了一个小问题,就是offsets变小的问题,迟迟未解决,经过研究flume代码发现,flume中,是自己管理offsets关系的,每个kafkachannel的代码中保留了一份topic-offsets的关系,源码:@Override public void start...
阅读(407) 评论(7)

[置顶] flume高并发优化——(15)中间件版本升级

在系统平稳运行一年的基础上,为提供更好的服务,现针对java,kafka,flume,zk,统一进行版本升级,请各位小伙伴跟着走起来,不要掉队啊! 名称 老版本号 新版本号 jdk 1.7.0_25 1.8.0 kafka 2.10-0.8.0.1 2.10-0.10.2.1 flume 1.6.0 1.7.0 zookeeper 3.4.6...
阅读(2308) 评论(3)

[置顶] flume高并发优化——(14)解决空行停止收集数据问题,及offsets变小问题

日志平台运行一段时间,发现日志有部分丢失,通过检查日志,发现有两个问题导致数据丢失,一个是遇到空行后,日志停止收集,还有就是kafka监控offsets时变小,通过分析代码,找到如下方法:空行问题:  在系统稳定运行一段时间之后,发现了一个致命性的bug就是在遇到空行时,无法自动跳过,导致识别为文件结束,再次读取还是空行,跳入了死循环解决办法:  解决的办法也非常简单,就是增加对文件大小与当前行数的...
阅读(514) 评论(2)

[置顶] flume高并发优化——(13)扩展三级文件配置&利用Headers扩展属性

上篇博客中,我们对flume进行了文件组进行了扩展,但是我们现在的配置还是针对某组文件单独配置,这样的维护成本还是太高,为了持续优化,我们对常见的三级文件进行优化(**logs/**project/**type/*.log)利用公司内部的约定,大家一起为简单配置努力。1,规范目录结构        在本项目约定下,日志结构采取如下:/logs/*project/type-tomcat/*.log2...
阅读(2301) 评论(8)

[置顶] flume高并发优化——(12)filesource 支撑文件组&兼容cat监控

主因        在上篇博客中,我们已经做到了非常不错的多文件检索,但是,还有一个问题,就是针对不同的项目,需要多个配置文件,这样,对运维,是个非常繁琐的问题,针对这个问题,本版对flume扩展了文件组(以|切分父文件)。        cat监控,是个久经考验的监控报警平台,因此决定兼容cat的协议,对source进一步扩展。        针对很多人说方法过大的问题,本次也做了调整,优化了面...
阅读(1382) 评论(6)

[置顶] flume高并发优化——(11)排除json转换及中文乱码

在使用flume收集数据,转换为json格式时,常常遇到特殊符号的问题,而json对于”引号,是非常敏感的,大家处理json数据的时候,要特别注意,在前不久,向es插入数据时,报错就是json转换失败原因:       json通用格式:        {"key":"value"}       {"key":{}}       {"key":[]}       ["one","two"]...
阅读(2402) 评论(3)

[置顶] flume高并发优化——(10)消灭elasticsearch sink多次插入

在flume作为通道接收json数据时,最近遇到一个问题,当flume-es-sink遭遇一个错误的时候,会不断尝试插入数据,而以前的数据又没有进行回滚,导致数据重复插入,脏数据累积,为了解决这个问题,现解决如下:原因如下:        1,事务控制在channel端        2,事务回滚,未处理已插入es中数据解决方案:        1,es批量操作不做回滚        2,es插入...
阅读(2465) 评论(6)

[置顶] flume高并发优化——(9)配置文件交由zookeeper管理

我们都希望,配置文件是从一个服务引出,然后客户端监听服务端变化,实时重启自身加载最新配置,这样,我们就不用维护每个独立的客户端配置,更新也变得非常简单,而flume,显然意识到了这一个巨大的实惠,他是支持配置文件交由zookeeper维护的,这样我们在修改配置时,flume会自动重新加载。1,zookeeper 添加节点        我们利用博客《使用zkweb维护zookeeper数据》中介绍...
阅读(5122) 评论(3)

[置顶] flume高并发优化——(8)多文件source扩展断点续传

在很多情况下,我们为了不丢失数据,一般都会为数据收集端扩展断点续传,而随着公司日志系统的完善,我们在原有的基础上开发了断点续传的功能,以下是思路,大家共同讨论:核心流程图:                         源码:/* * 作者:许恕 * 时间:2016年5月3日 * 功能:实现tail 某目录下的所有符合正则条件的文件 * Email:xvshu1@163.com * T...
阅读(6394) 评论(3)

[置顶] flume高并发优化——(7)RandomAccessFile升级多文件source

本篇文章旨在解决tail文件io断裂问题,我们使用linux原生的tail ,启动多个线程,做到对多个文件的数据收集,但是,随着业务日志增多,日志以日期分割,是个常用的做法,但是这样,就使得我们的flume插件在日期交换的凌晨,出现io断裂,造成不能继续收集数据...
阅读(4552) 评论(2)

[置顶] flume高并发优化——(6)开发多文件检索source插件

To detect all files in a folder step: 1,config one path 2,find all file with RegExp 3,tail one children file 4,batch to channal demo: demo.sources.s1.type = org.apache.flume.source.ExecTailSource demo.sources.s1.filepath=/export/...
阅读(6862) 评论(4)

[置顶] flume高并发优化——(5)KafkaOffsetMonitor

本片博客是介绍一款kafka监控的软件,以配合查看flume的kafka channel性能,其实这是个非常简单的项目,我们只需要下载好jar包,就可以使用了1,下载jar包http://pan.baidu.com/s/1eSPlzpw2,启动java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offseta...
阅读(2278) 评论(3)

[置顶] flume高并发优化——(4)kafka channel

在上篇博客中,我们还留了一个小疑问,就是我们对最后一个flume的优化是如何做的,关于这一点,我们的思路是这样的,file的瓶颈是io,而我们使用的硬盘是5400转1t硬盘,如果想要优化,我们必须找到性能和memory相当,但是又能较好的保存数据,保证事务性的channel,符合这样要求的一款channel进入了我们的视线,就是kafkachannel,具体怎么做的,请大家看详细介绍:优化之前的架...
阅读(5268) 评论(5)

[置顶] flume高并发优化——(3)haproxy

在上篇博客中,我们虽然进行了较大的改动,但是,没有料到的是,flume的file性能瓶颈会如此快的到来,由于我们使用了一个filechannel作为负载均衡的通道,导致性能瓶颈很快到来,为了应对这样的瓶颈,我们对结构进行了第三次升级,替换了负载均衡的前端,换为性能更好的haproxy作为分发端,大家一起来看看是如何优化的。        还是老样子,大家看看上次优化过之后的结构:        我...
阅读(3708) 评论(5)

[置顶] flume高并发优化——(2)精简结构

大家在上篇博客中,可以看到,对flume本身的优化,我们可以说是一个较大的进步,但是,后期梳理时,发现,数据的处理经过了很多没有必要的步骤,我们的处理有些多余,但是精简哪里,又成为了一个问题,本篇博客带领大家一起看看,精简的关键位置及效果。还是老样子,大家会议上篇博客的架构:        不难看出,有一个性能点就是从主端口下发的时候,三个端口到es的过程中,为了让数据有较好的缓冲,我们使用了ka...
阅读(3844) 评论(7)

[置顶] flume高并发优化——(1)load_balance

通过一年多时间的使用,统一日志系统,已经接入公司前台,在20个节点,几十万用户,数百亿交易额的大压力下,仅仅使用了一个普通的服务器,承受住了严峻的考验,在公司今年更宏大的目标,也是为了给大数据组提供更加全面信息的需求下,公司所有项目,要接入ULOG系统,主要包含管理后台,wap,app等,流量一下达到一个峰值,flume的瓶颈凸显出来,在解决的过程中,对flume的了解以及性能调优,有了更深入的认...
阅读(4794) 评论(7)

阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程

经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发规约》强制条目转化成自动化插件,并实现部分的自动编程。阿里技术公众号于今年的2月9日首次...
阅读(1025) 评论(0)

MySql索引算法原理解析(通俗易懂,只讲B-tree)

刚开始学习的时候,百度去查,但发现好多说得太复杂不好理解,结合各个文章总结一下(建议大概看文字,不理解不要紧,然后再看图的执行步骤然后在结合文字,这样一切就清晰好多)B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,大名鼎鼎的MySQL就普遍使用B+tree实现其索引结构。 ...
阅读(131) 评论(0)

《再探设计模式》装饰者:为什么比继承更灵活?

最近在研究dubbo的源码,发现在dubbo中装饰者使用的比较多,目前看到在协议扩展方面的使用,而一直有一个疑问萦绕我,就是装饰者为什么比继承更灵活?我们一起来探讨下。 Wrapper类内容: package com.alibaba.xxx;import com.alibaba.dubbo.rpc.Protocol;public class XxxProtocolWrapper implemen...
阅读(205) 评论(0)

字符串匹配的KMP算法

字符串匹配是计算机的基本任务之一。举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很...
阅读(160) 评论(1)

2017年中总结

2017年过了一大半了,最近工作上不是很紧张,借着这个机会总结下自己这半年的收货,也给自己一个梳理的机会。思想持久系统学习在这半年,对我影响比较大的一篇文章,是网上一篇文章罗振宇永远不会告诉你的秘密 ,里面有很多观点,发人深省,值得我们当下碎片化过多的学习型人深思: 我们的焦虑: 我们对新的知识、新的信息和新的认知迭代始终有一种匮乏感,因为担心自己知识匮乏而落后于社会和他人,从而产生了一种心理恐...
阅读(162) 评论(2)

Android开发学习(14)Popupwindow右上角弹出菜单

很多安卓app的右上角都有弹出菜单,今天我们继续丰富我们的计算机app,前几篇博客我们为他增加了历史记录的功能,今天我们使用Popupwindow做一个右上角弹出的按钮。 效果: 布局按钮主界面menu_popwindow.xml <LinearLayout xmlns:android="http://schemas.a...
阅读(566) 评论(0)

Android开发学习(13)Retrofit访问REST服务

前段时间,有个博友在讨论区提了一个web封装的框架Retrofit,正好接上篇博客,我们搭建了一个简单的rest服务。简介 准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装,App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求...
阅读(464) 评论(0)

Android开发学习(12)Jersey构建RESTful后台服务

先来简单了解下概念,方便我们搭建相关服务:概念RESTful REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Obj...
阅读(269) 评论(0)

Android开发学习(11)HttpCient

承接上篇文章,本篇文章,我们使用httpclient访问后台rest接口,返回数据后进行处理,熟悉最简单的这种监护方式。HttpCient:HttpClient是Apache开源组织提供的HTTP网络访问接口(一个开源的项目),从名字上就可以看出,它是一个简单的HTTP客户端(并不是浏览器),可以发送HTTP请求,接受HTTP响应。但是不会缓存服务器的响应,不能执行HTTP页面中签入嵌入的JS代码,...
阅读(248) 评论(3)

Android开发学习(10)WebView访问网页

在不少的应用中,如果要快速搭建自己的应用,H5也是个不错的选择,在App端,保留H5的入口,也就是展示网页的入口就可以,本篇文章就和大家一起做一个展示网页的入口。 先看我们实现的结果: WebView使用H5实现的功能能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,节约了成本,提高了开发效率。 原理:其实就是Java代码和JavaScript之间的调用...
阅读(712) 评论(0)

Android开发学习(9)记忆功能计算器

承接上篇博客,每到一个阶段,我们就用一个项目总结我们学习到的内容,今天我们就一起继续完成一个拥有记忆功能的简单计算器,首先我们先看下计算器布局:布局计算主页面:历史记录查询页面:自定义标题:head.xml <RelativeLayout xmlns:android="http://schemas.android.com/a...
阅读(621) 评论(0)

Android开发学习(8)SQLite

每到一个阶段,我们就用一个项目总结我们学习到的内容,今天我们就一起来完成一个拥有记忆功能的简单计算器,首先我们先在这篇博客介绍将使用一种新的存储方式,SQLite。 百度百科: SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用...
阅读(558) 评论(1)

Android开发学习(7)ListView

很多时候,我们需要以列表的方式展示我们的商品,类似通讯录中联系人的列表展示页,今天我们就开始使用ListView做一个类似的功能ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。先说说ListView的实现:添加步骤: 准备ListView要显示的数据 ; 使用 一维或多维 动态数组 保存数据; 构建适配器 , 简单地来说, 适配器就...
阅读(285) 评论(1)

Android开发学习(6)Maven管理项目

学习安卓开发有了一小段时间,一直想使用maven管理安卓的开发,这样就和以前的开发模式有了很大的重合,本着这个念头, 我们开始一步步使用maven创建一个安卓项目:开发环境:JDK 1.8 Maven 3.1.1 IDEA 2016主要步骤:配置 android 开发环境根据 android 官网提示,配置 android 开发环境,直到能在 eclipse 上运行简单的 helloAndroi...
阅读(338) 评论(1)

Android开发学习(5)记住用户名密码,自动登录

上篇文章我们学习编写了一个简单的登录页面,本篇文章,我们继续丰富这个页面,实现自动登录和记住用户名密码,学习安卓一个简单的数据存储器SharedPreferences使用。SharedPreferencesSharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个基于XML文件存储key-value(键值对)。SharedPr...
阅读(371) 评论(1)
267条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:639589次
    • 积分:13620
    • 等级:
    • 排名:第1044名
    • 原创:248篇
    • 转载:19篇
    • 译文:0篇
    • 评论:4607条
    博客专栏
    最新评论