自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cxmscb的博客

学习笔记

  • 博客(83)
  • 收藏
  • 关注

原创 深度学习之卷积神经网络CNN及tensorflow代码实现示例

一、CNN的引入在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢,例如一张黑白的 28×2828×28 的手写数字图片,输入层的神经元就有784个,如下图所示: 若在中间只使用一层隐藏层,参数 ww 就有 784×15=11760784×15 = 11760 多个;若输入的

2017-05-01 13:28:21 223804 42

原创 机器学习之朴素贝叶斯模型及代码示例

一、朴素贝叶斯的推导朴素贝叶斯学习(naive Bayes)是一种有监督的学习,训练时不仅要提供训练样本的特征向量X,而且还需提供训练样本的实际标记Y,是一种基于贝叶斯定理和特征条件独立假设的分类方法。1. 贝叶斯定理:贝叶斯定理: 。对于分类问题,其中 可看作 在样本的特征为X的条件下,样本的类别为Y的条件概率,这正是分类问题中我们想求的;而右边中的 可看作 训练集中样本类别为Y的概率 , 可

2017-04-06 15:07:22 13187

原创 机器学习之主成分分析PCA及代码示例

一、主成分分析(PCA)主成分分析(Principal Component Analysis)是一种常用的降维算法,可通过线性组合的方法将多个特征综合为少数特征,且综合后的特征相互独立,又可以表示原始特征的大部分信息。1. 主成分和方差观察以下的几个样本的特征向量X:x1 x2 x3 x4 y0 10 -2 2 0 10 -3 30 10 -4 4可以看出上述

2017-03-26 14:43:19 17636 3

原创 机器学习之密度聚类及代码示例

一、密度聚类密度聚类的思想,在于通过计算样本点的密度的大小来实现一个簇/类别的形成,样本点密度越大,越容易形成一个类,从而实现聚类。密度聚类算法可以克服基于距离的聚类算法只能发现凸型集合的缺点,其可根据密度的分布发现任意形状的聚类,且对噪声数据不敏感。因密度聚类算法需计算每个样本点附件的样本密度,因此计算复杂度比较大。二、DBSCAN算法DBSCAN(Density-Based Spatial Cl

2017-03-18 21:37:35 7672 5

原创 机器学习之层次聚类及代码示例

一、层次聚类层次聚类是无监督学习方法,可对给定的N个待聚类的样本进行层次的分类,直到某种条件(类的个数、类间的距离超过某个阈值)满足为止。1、层次聚类的划分对于层次聚类,可具体分为:a. 凝聚的(agglomerative)层次聚类:采用自底向上的策略:先将每个样本作为一个簇(类),然后不断地计算各个类之间的相似度/距离、并合并最相近的两个类成一个大类,直到某个终止条件满足为止。(可与哈夫曼编码算法

2017-03-18 17:18:37 8365 1

原创 机器学习之划分聚类及代码示例

一、聚类聚类是一种无监督学习,根据样本的内在相似性/距离,将大量未知标记的样本集划分为多个类别,使得同一个类别内的样本相似度较大(距离较小),而不同类别间的样本相似度较小(距离较大)。划分聚类包含K-Means、K-Means++、Mini Bacth K-Means等。二、相似性/距离的度量既然聚类是根据样本之间的内在相似性/距离进行分类的,那相似性/距离的度量有哪些呢?一般来说,相似性越小,距离

2017-03-16 21:54:10 5433

原创 机器学习之支持向量机SVM及代码示例

一、线性可分SVMSVM算法最初是用来处理二分类问题的,是一种有监督学习的分类算法。对于线性可分的二分类问题,我们可以找到无穷多个超平面,将两类样本进行区分。(超平面:一维中是一个点;二维中是一条线;三维中是一个面……)在上面的多个超平面中,它们都可以成功将样本集划分两边,但哪一个超平面更好?一般来说,当样本点离超平面越近,样本的标签为某类型的概率应该为0.5左右,确信度比较低,而样本点离超平面越远

2017-02-22 23:07:14 51605 7

原创 机器学习之机器学习库scikit-learn

一、 加载sklearn中的数据集datasetsfrom sklearn import datasetsiris = datasets.load_iris() # 鸢尾花卉数据digits = datasets.load_digits() # 手写数字8x8像素信息数据查看数据的信息print iris.data[:4] # 查看数据的特征信息print iris.data.shape #

2017-02-11 00:44:48 2448

原创 python数据分析之数据可视化matplotlib

import matplotlib.pyplot as pltimport numpy as npimport numpy.random as randnimport pandas as pdfrom pandas import Series,DataFramefrom pylab import mplmpl.rcParams['axes.unicode_minus'] = False

2017-01-27 12:03:06 7109

原创 python数据分析之csv/txt数据的导入和保存

约定:import numpy as npimport pandas as pd一、CSV数据的导入和保存csv数据一般格式为逗号分隔,可在excel中打开展示。示例 data1.csv:A,B,C,D1,2,3,a4,5,6,b7,8,9,c代码示例:# 当列索引存在时x = pd.read_csv("data1.csv") print x''' A B C D0

2017-01-25 12:26:25 52813

原创 python之pandas的基本使用(2)

续 python之pandas模块的基本使用(1)一、排序和排名排序:sort_index和sort_values函数代码示例:print 'Series排序'x = Series(range(4), index = ['b', 'a', 'c', 'd'])print x.sort_index() # Series按索引排序'''a 1b 0c 2d 3

2017-01-22 18:16:02 10416 1

原创 python之pandas的基本使用(1)

一、pandas概述pandas :pannel data analysis(面板数据分析)。pandas是基于numpy构建的,为时间序列分析提供了很好的支持。pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。二、数据结构 SeriesSeries 类似于一维数组与字典(map)数据结构的结合。它由一组数据和一组与数据相对应的数据标签(索引index)组成。这组数

2017-01-20 16:57:50 100982 7

原创 python之numpy的基本使用

一、numpy概述numpy模块提供了python对N维数组对象的支持:ndarray,ndarray数组中的元素须为同一数据类型,这一点与python的列表是不一样的。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。二、创建ndarray数组代码示例:# -*- coding: utf-8 -*-import numpy;print '使用列表生成一维数组'd

2017-01-17 15:20:39 339651 25

原创 机器学习之决策树和随机森林及代码示例

一、决策树决策树学习是机器学习中一类常用的算法。在决策树中,根节点包含样本全集。每个非叶子节点表示一种对样本的分割,通常对应一个划分属性,其将样本分散到不同的子节点中。每个叶子节点对应于决策的结果。因此从根节点到每个叶子节点的路径对应了一个判定序列。可与下图做比对:在上图的决策树中,划分属性有年龄、是否为学生、信用率。划分属性一般采用样本的某个特征或多个特征的组合。决策树学习是一种有监督学习,根据样

2016-12-09 16:43:46 17300 3

原创 机器学习之逻辑回归和softmax回归及代码示例

一、逻辑回归在 机器学习之线性回归 中,我们可使用梯度下降的方法得到一个映射函数hΘ(X)来去贴近样本点,这个函数是对连续值的一个预测。而逻辑回归是解决分类问题的一个算法,我们可以通过这个算法得到一个映射函数f:X-> y,其中X为特征向量,X 为 { x0 x1 x2 x3 x4 … xn },y为预测的结果。在逻辑回归这里,标签y为一个离散的值。二、判定边界当将训练集的样本以其各个特征为坐标轴在

2016-11-29 16:48:55 17651 2

原创 机器学习之线性回归及代码示例

一、线性回归线性回归一般用来做连续值的预测,预测的结果为一个连续值。因训练时学习样本不仅要提供学习的特征向量X,而且还要提供样本的实际结果(标记label),所以它是一种有监督学习。X= { x0 x1 x2 x3 x4 … xn }。线性回归需要学习得到的是一个映射关系f:X -> y,即当给定新的待预测样本时,我们可以通过这个映射关系得到一个测试样本X的预测值y。在线性回归中,假定输入X和输出y

2016-11-26 00:38:31 17340 1

原创 安卓开发之基于AccessibilityService实现聊天机器人对其他应用的调起

前言前几天看到一个很有趣的应用视频“小不点”交互机器人,其中有一段是用户给它发一段文字/语音,譬如“我想在美团点一份鸡排”,然后“小不点”自动将美团应用弹出,并进行“鸡排”搜索等操作,如下图进行简化后的demo所示。当时感觉到这样子的交互方式挺有趣的,在安卓上也有一定的方案可以实现,今天就基于AccessibilityService来实现了一下。(demo中省去一些自然语言处理的应用,最近也在学习这

2016-10-27 18:58:50 11548 4

原创 安卓开发之自定义控件实现MaterialEditText

按照常规先展示效果图并说明:主要有以下几个效果:edittext中的内容为0时,标签不出现edittext中的内容不为0时,标签开始出现edittext获取焦点时,下划线的颜色/粗细会发生改变edittext失去焦点时,下划线同样发生改变,标签颜色也更改当限制输入字符个数时,右下角计数文字会进行计数超过个数后,下划线和计数文字颜色会发生变化一、继承EditText为保留EditText

2016-10-13 17:50:31 5254 1

原创 安卓开发之使用PathMeasure自定义加载动画控件

先上效果图:一、PathMeasure在绘制画布时,我们通常会使用Path对象来勾勒出绘制的路径,而PathMeasure可以让我们得到路径上的一些信息,比如获取路径上点的坐标,截取路径上的某一段小路径等。。它主要有既个方法:setPath(Path path, boolean forceClosed);与一个Path对象绑定,forceClose为true时,不管关联的Path是否是闭合的,都会

2016-10-01 23:27:47 1214

原创 安卓开发之自定义控件TipView仿QQ长按后的提示窗口

先上效果图:之前用手机QQ时,一直很觉得这个窗口提示挺不错的,今天将它大概地实现了一遍。首先是:提示窗口的三角下标是可以改变位置的,然后窗口中有很多小的item,item被点击时会显示出不同的颜色,同时三角下标的颜色也随着改变。然后是:提示窗口的item们会根据传入的坐标实现向上显示或向下显示。一、对TipView定义一些成员变量private static final int STATUS_DOW

2016-09-27 23:22:10 5223 6

原创 安卓开发之自定义粒子旋转动画加载控件

先上效果图:控件可以根据颜色数组的长度来绘制不同数量的小球。小球旋转同时,距控件中心的距离也跟着不断变化。还有个小细节就是,小球的颜色也会随着变化(颜色变为后一个小球的颜色)。一、自定义控件的属性定义了小球的半径、小球偏移控件中心的最大距离和最小距离、动画的执行周期(决定旋转的速度)和一个存放各个颜色的数组(int 数组)。<declare-styleable name="CircleLoading

2016-09-25 00:08:06 4653

原创 安卓开发之自定义动画控件BatteryView(电池加载动画)

前几天在网页上看到一个不错的加载动画View后,想将它在安卓上实现一遍。效果如下,很简单。因为控件实现动画时,更新视图的频率会很高。为了减少内存的占用,决定使用SurfaceView来实现。一、对控件的测量使用的规则是:当控件的宽/高不是固定时,宽/高的大小为默认的宽高+padding值。反之,使用传递过来的宽高。@Overrideprotected void onMeasure(int widt

2016-09-23 12:11:02 4726

原创 安卓开发之getMeasuredWidth和getWidth的区别

一、getMeasuredWidth() : 可以先看一下View / ViewGroup关于 getMeasuredWidth 这个函数的源码:public final int getMeasuredWidth() { return mMeasuredWidth & MEASURED_SIZE_MASK;}其中 mMeasuredWidth 是由我们在View的onMeasure

2016-09-19 17:12:58 1160

原创 安卓开发之ScrollView嵌套ListView的一些问题和解决

在应用开发中,有一些情况需要在ScrollView中嵌套一个或多个ListView来实现,下面主要讨论一些嵌套过程中的问题和一些解决方案。一、ListView的高度不能完全展开这种情况是当ScrollView嵌套ListView时,ListView的高度设置为wrap_content时会产生,一般情况下ListView只显示的第一个Item。正常情况下,高度设置为“wrap_content”的Li

2016-09-15 21:21:26 15002 2

原创 安卓之使用DexClassLoader&AssetManager启动插件的Activity实现功能插件化

前言: 写完 安卓之插件化开发使用DexClassLoader&AssetManager实现功能插件化 通过在宿主Activity中装载插件Fragment来实现功能插件化后, 在网上又看见了一篇比较插件化的文章 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法 通过偷换Activity上下文的方法启动了插件apk的Activity。 深受启发,所以就写了这遍文章使

2016-09-12 15:58:52 1977

原创 安卓开发之自定义带加载进度的按钮ProgressButton

demo按钮效果图:一、定义ProgressButton的自定义属性在attrs文件中定义ProgressButton的基本属性:主要有进度条颜色、进度条的背景颜色、按钮正常和被点击状态时的颜色、按钮的边角半径和是否显示进度信息。<declare-styleable name="progressbutton"> <attr name="progressColor" format="color

2016-09-10 10:37:45 12633 3

原创 安卓开发之实现控件的贝塞尔曲线路径动画

贝塞尔曲线一般用在绘制canvas图层上,这里主要是ObjectAnimation动画及插值器和估值器实现将贝塞尔曲线作为控件移动的动画路径。项目demo图:一、ObjectAnimator动画原理ObjectAnimator.ofObject(….,”xxx”,估值值,区间数组); 【定义动画属性xxx和区间】插值器/加速器(Interpolator)【返回当前数字进度t】估值值(Eval

2016-09-09 12:01:19 8243 5

原创 安卓之插件化开发使用DexClassLoader&AssetManager实现功能插件化

在360安全卫士一些应用中,有些功能需要添加(下载)后才可以运行,例如360安全卫士中的抢红包功能。 这是因为这些功能被插件化分离出来成一个apk/zip文件,当用户使用这些功能时,再去下载相应的插件(不安装插件apk)来实现功能,当然也可以删除掉插件文件来实现删除功能的效果,实现了功能的热插拨。 Demo项目的效果图:【开始时 主应用本身未实现“红包助手”功能,然后点击按钮“添加并运行”

2016-09-06 23:54:15 1715

原创 安卓之插件化开发使用DexClassLoader&AssetManager来更换皮肤

这篇文章主要使用DexClassLoader来实现插件化更换皮肤,即将皮肤独立出来做成一个皮肤插件apk,当用户想使用该皮肤时需下载(不需要安装)对应的皮肤插件apk效果图【为方便测试,主要通过改变背景图来简单地展示皮肤更换】一、DexClassLoader 如果使用DexClassLoader来实现插件化皮肤更换,我们需要去下载(不需安装)我们的皮肤插件apk:DexClassLoader

2016-09-06 11:08:05 2778

原创 安卓之插件化开发使用PathClassLoader来动态更换皮肤

这篇文章主要使用PathClassLoader来实现插件化更换皮肤 (将皮肤独立出来做成一个皮肤插件apk,当用户想使用该皮肤时需下载对应的皮肤插件)效果图:【主要通过改变背景图来简单地展示皮肤更换】一、PathClassLoader 如果使用PathClassLoader来实现插件化皮肤更换,我们需要去下载并安装我们的皮肤插件apk:Android中有两个ClassLoader分别为

2016-09-04 22:39:35 4291

原创 安卓开发之使用双进程守护和进程提权来实现服务进程保活

一、进程保活 在 如何让我们的Android应用进程保活? 这篇文章里总结了一些进程保活方法,下文以双进程守护和进程提权来保活我们的服务进程。双进程守护: 主要设计AB两个不同服务进程,A进程的服务轮询检查B进程的服务是否存活,没存活的话将其拉起,同样B进程服务轮询检查A进程服务是否存活,没存活的话也将其拉起进程提权 主要设计中调用 startForeground方法将service置为“

2016-09-01 19:37:58 14112 14

原创 安卓开发之使用ViewDragHelper简单实现Activity左滑返回

一、ViewDragHelper 在另一篇博客里介绍了ViewDragHelper,这里就不再介绍了。ViewDragHelper的使用二、Activity左滑返回的简单实现 基本思路是使用ViewDragHelper自定义一个ViewGroup(命名为SwipeBackLayout),实现该ViewGroup的左滑效果。一、 基本工作为了省去自定义ViewGroup时onMeasur

2016-08-27 21:11:39 2545 2

原创 安卓缓存之DiskLruCache及设计(异步+缓存)图片加载器DiskCacheImageLoader

DiskLruCache DiskLruCache是一套硬盘缓存的解决方案,算法同LruCache基于LRU算法。DiskLruCache不是由Google官方编写的,这个类没有被包含在Android API当中。这个类需要从网上下载可以到Github这里下载一、DiskLruCache的基本使用1. 初始化DiskLruCache//创建一个DiskLruCache的实例,需要调用它的ope

2016-08-26 21:42:47 2283

原创 安卓缓存之LruCache及设计(异步+缓存)图片加载器LruCacheImageLoader

一、LruCache LRU:Least Recently Used(近期最少使用)。LruCache基于LRU算法的缓存策略。LruCache是一个泛型类,其以强引用的方式存储外界的缓存对象。当内存缓存达到设定的最大值时,则将内存缓存中近期最少使用的对象移除,有效的避免了OOM的出现。Java的四种引用一、LruCache的基本使用 LruCache一般使用来缓存图片,下面以缓存Bitm

2016-08-25 15:09:03 2550 3

原创 安卓开发之ViewDragHelper的使用及自定义可下拉展示内容的ViewGroup

一、ViewDragHelper 一个自定义ViewGroup的工具类,它提供了许多有用的方法和状态允许用户去拖拽和绘制子View在自定义ViewGroup中的轨迹和位置。ViewDragHelper的创建;ViewDragHelper可以使用静态方法创建一个实例:ViewDragHelper.create(ViewGroup forParent,int sensitiveity,ViewDra

2016-08-22 20:29:43 2355

原创 安卓开发之样式和主题的使用与夜间/白天模式的动态转换

一、样式(Style) 在写布局时,当多个视图有不少相同的属性时,可以将这些相同的属性放在一起在styles.xml中自定义为一个style。在布局文件中 使用style=”@style/style_name”统一引用。 可以把样式理解为多个视图属性的集合。一、样式的作用复用视图标签属性,防止布局文件累赘。二、样式的目标针对窗口中的某些视图。三、样式的定义与继承在styles.xml

2016-08-17 16:47:07 2817 1

原创 仿UC客户端的快速搜索消息通知效果

仿UC效果:无需权限提示,实现快速搜索悬浮窗一、效果gif: 效果说明:点击按钮启动Service 监听剪切板。复制之后,在屏幕顶部显示一个“快速搜索”悬浮窗来显示剪贴板内容,点击悬浮窗后的操作可自定义。二、WindowManager 的使用 通过WindowManager 的使用来构建我们的悬浮窗,设计模式为建造者模式/** * Created by cxm on 2016/8/1

2016-08-16 14:39:54 1093

原创 如何让我们的Android应用进程保活?

一、线程 进程 应用默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程MainThread)中。默认下,同一个应用的所有组件都运行在同一个进程中。当然也可以在manifest清单文件中设置组件运行的进程。 组件元素 activity、service、receiver、provider,都有一个process属性可以指定组件运行在哪个进程中。这个属性可以设置为每个组件运行在自己的进程

2016-08-14 15:28:35 8228

原创 安卓开发之 App Widget

一、什么是App Widget Android平台上在桌面上所放置的一种小控件与App Widget相关的类/对象:AppWidgetProviderInfo对象:定义App Widget的一些信息,为App Widget提供元数据,包括App Widget布局文件的指定,更新频率等数据。这个对象被定义在XML文件当中,其相对于一个Config配置“文件”.AppWidgetProvider

2016-08-06 13:45:54 2781

原创 安卓开发之封装显示倒计时按钮控件

实现倒计时逻辑比较简单,使用了CountDownTimer来计时(考虑了线程安全问题)。 对使用逻辑封装成了一个自定义控件TimerButton。源代码:import android.content.Context;import android.os.CountDownTimer;import android.util.AttributeSet;import android.widge

2016-08-05 22:49:06 1486 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除