
机器学习笔记
谛听-
线上幽灵
展开
-
使用 Keras 搭建 DNN
原创 2019-02-13 15:48:50 · 2768 阅读 · 0 评论 -
sklearn 的使用
from sklearn import datasetswine = datasets.load_wine() # 导入数据X = wine.data # 特征向量Y = wine.target # 标签import numpy as npprint(np.shape(X), np.shape(Y))(178, 13) (178,)# 把数据分成训练数据和测试数据fr...原创 2019-02-12 17:41:40 · 561 阅读 · 0 评论 -
狗种类识别
需要安装anaconda目的对100种狗进行识别,本文为简化,只对2种狗进行识别。数据组织有100种狗 E:\bd\train\train\train 下面是所有训练集图片 E:\bd\train\val\test1 下是所有验证集图片 E:\bd\train\data_train_image.txt 中存放训练图片–种类信息(以数字表示),格式为: 图片名 种类 url E:\bd\tr原创 2017-12-17 19:12:51 · 9948 阅读 · 4 评论 -
C#---聚类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Wellcomm.BLL.Geometric;namespace Wellcomm.BLL.InternalInterference{ public class Cluster { R原创 2017-09-07 17:42:28 · 2180 阅读 · 0 评论 -
深度学习笔记---基于动量的梯度下降
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-31 13:29:02 · 1796 阅读 · 0 评论 -
深度学习笔记---ReL解决梯度消失
参考 彭亮, 深度学习视频原创 2017-07-30 20:22:14 · 565 阅读 · 0 评论 -
深度学习笔记---梯度消失、梯度激增
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-30 19:36:02 · 480 阅读 · 0 评论 -
深度学习笔记----softmax
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-29 13:39:35 · 389 阅读 · 0 评论 -
深度学习笔记---权重初始化
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-28 19:42:49 · 381 阅读 · 0 评论 -
深度学习笔记---规范化
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-28 13:49:17 · 471 阅读 · 0 评论 -
深度学习笔记---交叉熵代价函数
参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-27 21:12:57 · 529 阅读 · 0 评论 -
深度学习笔记---反向传播
反向传播原创 2017-07-27 20:28:14 · 471 阅读 · 0 评论 -
深度学习笔记---梯度下降
目标:对于一个代价函数,寻找其最小值,即最低点。 方法:x减去当前梯度,即斜率,然后再得到y。 解释:如果当前点是A点,则斜率是正数,减去后x变小,y变小。 如果当前点是B点,则斜率是负数,减去后x变大,y变小。参考 Michael Nielsen. 神经网络与深度学习[M]原创 2017-07-26 21:02:45 · 577 阅读 · 0 评论 -
Bayes公式解释
参考 杨淑莹. 图像模式识别VC++技术实现[M].原创 2017-07-24 19:19:27 · 526 阅读 · 0 评论 -
matlab---RBF
data = importdata('rbf.txt'); %输入文件,只有一列数据,共312个,前252个作为训练nTrain = 252; %训练数据个数nTest = 60; %测试数据个数n = 5; %用5个数据预测第6个%训练 252个i = 1;x =原创 2016-12-18 16:50:15 · 3473 阅读 · 4 评论 -
N-gram
#include "iostream"#include "string.h"#include "string"#include "map"#include "fstream"#include "set"#include "vector"#include "stdio.h"using namespace std;vector words; //词汇库set s原创 2016-11-27 15:48:58 · 1121 阅读 · 0 评论 -
决策树ID3 C++实现
/*思想: 每次从数据集中根据最大信息增益选取一个最好特征,将数据进行划分,每次划分都会消耗一个特征, 使得特征越来越少,当所有数据集都是同一类,或者消耗完所有特征时,划分结束。 信息熵: Entropy(D) = -sum( p_i * log_2(p_i) ) D为样本集合 1<= i <= 样本D中所包含的类别数原创 2016-11-10 09:53:16 · 3378 阅读 · 10 评论 -
AdaBoost C++实现
/* 思想: 每个弱分类器的分类结果乘以各自的alpha,相加后得到最终分类结果。 alpha根据每个弱分类器的分类错误率算出,alpha = 0.5 * ln( (1-errorRate) / errorRate ) 本算法中的若分类器为单决策树,在构建单决策树时,会根据加权错误率来衡量其性能 被分错的样本权重高,权重计算:D[i] = D[i] * e^(-1 *原创 2016-11-09 18:17:45 · 4854 阅读 · 1 评论 -
Apriori关联分析 C++实现
Apriori算法:如果小的项集比较频繁,那么由它组成的大的项集也可能是频繁的; 如果小的项集不频繁,那么由它组成的大的项集必然不频繁。 所以,可以先排除小的不频繁项集,减少搜索空间。#include "iostream"#include "vector"#include "set"#include "string"#include "map"#include "algorithm"原创 2016-10-26 17:41:43 · 1361 阅读 · 1 评论 -
RL强化学习 C++实现
详细过程见: http://blog.youkuaiyun.com/u013405574/article/details/50903987#include "iostream"#include "vector"#include "string.h"#include "time.h"#include "stdlib.h"#include "stdio.h"using namespace std;#d原创 2016-10-21 16:34:12 · 4766 阅读 · 3 评论 -
SVM的详细推导
SVM推导:原创 2016-10-18 11:59:04 · 642 阅读 · 0 评论 -
LSTM神经网络的详细推导及C++实现
LSTM隐层神经元结构: LSTM隐层神经元详细结构: //让程序自己学会是否需要进位,从而学会加法#include "iostream"#include "math.h"#include "stdlib.h"#include "time.h"#include "vector"#include "assert.h"using namespace std;#define原创 2016-10-12 23:53:55 · 30125 阅读 · 31 评论 -
RNN递归神经网络的详细推导及C++实现
//让程序自己学会是否需要进位,从而学会加法#include "iostream"#include "math.h"#include "stdlib.h"#include "time.h"#include "vector"#include "assert.h"using namespace std;#define innode 2 //输入结点数,将输入2个加数#defi原创 2016-10-11 11:31:50 · 12132 阅读 · 14 评论 -
DBN深度信念网 C++实现
深度信念网dbn.h #ifndef DBN_H#define DBN_H#include "hiddenlayer.h"#include "logisticregression.h"#include "rbm.h"typedef struct { int N; //训练样例数 int n_ins; //输入单元数 int *hidd转载 2016-10-06 16:19:15 · 2539 阅读 · 7 评论 -
BP神经网络 c++实现
#include <iostream>#include <cmath>#include "stdio.h"#include "stdlib.h"#include "time.h"using namespace std;#define innode 8 //输入结点数#define hidenode 4 //隐含结点数#define outnode 8原创 2016-10-05 11:45:25 · 4238 阅读 · 1 评论 -
利用SVD简化数据
协方差矩阵的特征向量为数据传播的方向,特征值为该方向上的幅度。 第二大特征向量正交于最大特征向量,指向第二大数据传播方向。因为只有方阵才能求其特征值与特征向量,所以非方阵Data就只先转化为方阵:Data * (Data的转置),然后求其特征值与特征向量,最后将正的特征值开根号,得到奇异值。#!/usr/bin/python # -*- coding: utf-8 -*- #coding原创 2016-06-18 15:45:40 · 1070 阅读 · 1 评论 -
利用PCA来简化数据
pca.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *def loadDataSet(fileName, delim='\t'): fr = open(fileName) stringArr = [line.strip().split(delim) for line in原创 2016-06-17 15:47:08 · 633 阅读 · 0 评论 -
使用FP-growth算法来高效发现频繁项集
fpTree.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *class treeNode: def __init__(self, nameValue, numOccur, parentNode): self.name = nameValue #变量名原创 2016-06-16 21:57:02 · 1166 阅读 · 0 评论 -
使用Apriori算法进行关联分析
#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *def loadDataSet(): return [[1,3,4], [2,3,5], [1,2,3,5], [2,5]]#构建集合C1,C1是大小为1的所有候选项的集合def createC1(dataSet): C1 =原创 2016-06-15 13:11:10 · 830 阅读 · 0 评论 -
利用K-均值聚类算法对未标注数据分组
kMean.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *#导入数据def loadDataSet(fileName): dataMat = [] fr = open(fileName) for line in fr.readlines(): c原创 2016-06-14 14:12:33 · 835 阅读 · 0 评论 -
树回归预测结果可视化
draw.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *from Tkinter import *import regTreeimport matplotlibmatplotlib.use('TkAgg') #设置后端为TkAggfrom matplotlib.backends原创 2016-06-13 10:58:05 · 2018 阅读 · 0 评论 -
树回归
输入数据与目标变量之间为非线性关系时,可用树回归,使用树对预测值分段,包括分段常数、分段直线,前者为回归树,后者为模型树。若数据过拟合,需剪枝。测试:回归树>>> import regTree>>> myDatl = loadDataSet('ex0.txt')>>> myDatl = mat(myDatl)>>> createTree(myDatl){'spInd': 1, 'spVal'原创 2016-06-12 23:58:37 · 902 阅读 · 0 评论 -
预测数值型数据:回归
标准回归 #!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *#导入函数#前几行为x,最后一行为ydef loadDataSet(fileName): numFeat = len(open(fileName).readline().split('\t')) - 1 dataM原创 2016-06-11 15:52:23 · 1921 阅读 · 0 评论 -
利用AdaBoost元算法提高分类性能
adaBoost.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *def loadSimpleData(): datMat = matrix([[1., 2.1], [2., 1.1], [1.3, 1原创 2016-06-10 14:51:10 · 707 阅读 · 0 评论 -
支持向量机
svmMLiA.py#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *from time import sleep#加载数据#打开文件并逐行解析,从而得到每行的类标签和整个数据矩阵def loadDataSet(fileName): dataMat = [] labelMa原创 2016-06-09 22:13:06 · 912 阅读 · 0 评论 -
Logistic回归---从疝气病症预测马的死亡率
#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *#打开文本文件并逐行读取,每行前两个值为x1,x2,第3列为类别标签#为方便计算,将x0设为1.0def loadDataSet(): dataMat = []; labelMat = [] fr = open('testSe原创 2016-06-08 14:10:50 · 1704 阅读 · 0 评论 -
朴素贝叶斯---过滤垃圾邮件
在bayes.py中添加#朴素贝叶斯词袋模型def bagOfWords2VecMN(vocabList, inputSet): returnVec = [0]*len(vocabList) for word in inputSet: if word in vocabList: returnVec[vocabList.index(word)]原创 2016-06-08 10:20:30 · 907 阅读 · 0 评论 -
基于概率论的分类方法:朴素贝叶斯---过滤网站恶意留言
准备数据,从文本中构建词向量#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from numpy import *#词表到向量的转换函数#数据来自斑点犬爱好者留言板def loadDataSet(): postingList = [['my', 'dog', 'has', 'flea', \原创 2016-05-24 16:35:06 · 838 阅读 · 0 评论 -
决策树
#!/usr/bin/python # -*- coding: utf-8 -*- #coding=utf-8from math import logimport operator#创建数据集def createDataSet(): dataSet = [[1, 1, 'yes'], [1, 1, 'yes'], [1原创 2016-05-14 22:45:02 · 684 阅读 · 0 评论 -
k-近邻法用于手写识别系统
在上上篇”k-近邻分类算法“添加如下代码#将32*32图像矩阵转换为1*1024向量def img2vector(filename): returnVect = zeros((1, 1024)) fr = open(filename) for i in range(32): lineStr = fr.readline() for j in r原创 2016-05-14 18:59:29 · 955 阅读 · 0 评论