
机器学习
文章平均质量分 50
Dezeming
研究方向:数学原理,GPU加速技术,数据结构与算法,机器学习,深度学习神经网络,3D可视化,计算机图形学,图像处理,计算机视觉,Qt程序设计,C++编程
曾学习和研究过:Java,51,stm32,msp430等单片机,嵌入式ARM,DSP,模拟/数字电路,树莓派
展开
-
机器学习文章目录
本人整理的机器学习的一些比较通俗和基础的笔记。后续都会把笔记记录上来。一、决策树机器学习 之 尽可能通俗易懂的决策树算法机器学习 之 决策树理解进阶决策树代码详解——真正地一行一行来解读二、逻辑回归机器学习 之 逻辑回归代码解读三、BP...原创 2020-04-09 21:01:54 · 6158 阅读 · 0 评论 -
深度学习Tensorflow笔记
MOOC上北京大学的Tensorflow笔记课程,在没有基础的前提下可以快速上手。本人在学习该课程时进行了一些记录,虽然很多方面该课程的课程笔记比我记录的内容更详细,不过我也增加了一些自己测试的内容。第一部分:Python篇python安装tensorflow学机器学习必备的一些python句法基础 1 列表 元组 字典 条件语句学机器学习必备的一些python句法基础 2 循环...原创 2020-04-01 14:59:12 · 6144 阅读 · 0 评论 -
SVM支持向量机
DezemingFamily系列书和小册子因为是电子书,所以可以很方便地进行修改和重新发布。如果您获得了DezemingFamily的系列书,可以从我们的网站[https://dezeming.top/]找到最新版。对书的内容建议和出现的错误欢迎在网站留言。支持向量机自从被提出以后,在分类的等问题上大放异彩。大部分人使用支持向量机都是直接调用python的相关程序,而对支持向量机的内部工作原理和推导认识并不是很充分。网上的参考资料也都不是非常全面,不好理解。我希望能对SVM支持向量机进行最详细和全面..原创 2021-12-20 10:45:45 · 416 阅读 · 0 评论 -
机器学习中线性回归python编程注意事项
先把公式列在这里方便表述:我们设x0永远为1 ,用来表示 y = kx+b 中的 b因此,后面的式子就可以表述为:data.insert(0, 'Ones', 1)cols = data.shape[1]# 取前cols-1列为输入向量X = data.iloc[:,0:cols-1]# 取最后一列为目标向量y = data.iloc[:,cols-1:cols] X = np.array(X.values)y = np.array(y.values)...原创 2021-01-13 18:38:06 · 3409 阅读 · 0 评论 -
机器学习必备知识点 之 逻辑回归的总结
机器学习必备知识点见机器学习必备知识点逻辑回归:用cross entropy来当做损失函数如果换一种损失函数:(平方根)原创 2020-08-17 10:41:55 · 1583 阅读 · 0 评论 -
机器学习必备知识点 之 先验概率和后验概率
机器学习必备知识点见机器学习必备知识点我们可以把概率获得分为两种:一种是从原因到结果——先验概率 一种是从结果到原因——后验概率举个例子:这里的P(C1),P(C2),P(x|C1),P(x|C1)都是先验概率,因为这个概率我们是知道的。但是P(C1|x)就是后验概率了,因为我们是得到了结果(抽到了某个x),然后求是从C1中抽到的概率。从原因到结果的论证称为“先验的”,而从结果到原因的论证称为“后验的”。由贝叶斯公式可得:P(C1|x)=P(x|C1)P(C1)/P(x)..原创 2020-08-16 21:05:59 · 3361 阅读 · 0 评论 -
机器学习必备知识点 之 样本方差与实际方差
机器学习必备知识点见机器学习必备知识点在做估计时,我们需要把样本的方差除以一个n-1,作为估计的全部数据方差。总体有N个样本,我们抽取了n个,然后我们根据这n个样本的分布情况来推测总体的分布情况。除以n-1的样本方差计算公式是总体方差的无偏估计值计算式。除以n的样本方差计算公式是总体方差的渐近无偏估计值计算式,n足够大的时候,就可以不用区别n和n-1的差距了。证明过程:(因为是以前保存的图片,内容来源已经丢失)...原创 2020-08-14 14:11:29 · 893 阅读 · 0 评论 -
机器学习必备数学知识点
整理关于机器学习方法的全部重难点数学知识...原创 2020-08-14 13:54:23 · 1666 阅读 · 1 评论 -
机器学习 演化规划
机器学习文章目录EP算法的特点是自适应。演化算法需要搜索,问题在变的时候,算法预测也会改变(方程改变)。与遗传算法相比,该算法只有变异,没有交叉。经典的EP算法流程:父代产生子代只能靠变异:自适应中,标准差也会变,写个伪代码来表示一下:初始化变量和参数:(个体表现型(设为X),群体规模(设一个群体有N个个体),迭代次数(演化的次数)C等) 随机产生N个个体,并计算这些个体的适应性while(迭代次数小于C){ for(i = 1; i < N; i原创 2020-05-25 13:25:06 · 5337 阅读 · 0 评论 -
机器学习 演化计算 遗传算法 进化算法
机器学习文章目录演化计算:也会叫遗传算法,进化算法。该算法在1966年Holland提出,是一种非数学方法,来模仿自然界的进化。适应度评估就是我们要优化的目标函数。适应度就是给它能否活下来的一个评估。即不断产生后代,然后进行优胜劣汰。...原创 2020-05-25 00:02:23 · 6912 阅读 · 0 评论 -
机器学习 非参数估计
机器学习文章目录整理自中科大何劲松老师的机器学习课件势函数,插值函数,核函数。把多个样本叠加起来,得到的概率分布可以近似为整体的概率分布。原创 2020-05-10 12:53:55 · 5623 阅读 · 0 评论 -
贝叶斯决策
机器学习文章目录整理自中科大何劲松老师的机器学习课件假如要将具有一定特征的对象分类为和两类,该对象所在空间里,是的几率为,是的几率为 ,在空间里观察到特征为 x 的概率为,在空间里观察到特征为 x 的概率为,根据贝叶斯准则可以得到后验概率:因为底下都是一样的分母,所以只需要比较:或者:错误率问题:参数估计决策:...原创 2020-05-09 13:47:07 · 5169 阅读 · 0 评论 -
错误 InvalidArgumentError (see above for traceback): Incompatible shapes: [119] vs. [77]
运行 PYTHON程序的时候,发现错误:InvalidArgumentError (see above for traceback): Incompatible shapes: [119] vs. [77]追踪到出错位置:correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(y_,1))...原创 2020-05-26 17:29:52 · 3535 阅读 · 2 评论 -
错误FailedPreconditionError (see above for traceback): Attempting to use uninitialized value Variable
在运行python的tensorflow程序时,出现了:FailedPreconditionError (see above for traceback): Attempting to use uninitialized value Variable未初始化?说明在训练网络参数的时候,放进去的变量没有经过初始化。然后我查看了一下代码: with tf.Session() ...原创 2020-04-19 22:37:53 · 7828 阅读 · 1 评论 -
机器学习 之 逻辑回归代码解读
-0.017612 14.053064 0-1.395634 4.662541 1-0.752157 6.538620 0-1.322371 7.152853 00.423363 11.054677 00.406704 7.067335 10.667394 12.741452 0首先把需要处理的数据集的格式张贴一下。我们先来看第一个函数:导入数据集from numpy ...原创 2020-03-12 21:56:58 · 6475 阅读 · 0 评论 -
决策树代码详解——真正地一行一行来解读
。。。。。原创 2020-03-10 16:18:07 · 11162 阅读 · 4 评论 -
机器学习 之 决策树理解进阶
整理自《统计学习方法——李航》如果只是根据最后的结果对样本进行分类,那么直接可以分成两类,一类是“是”,一类是“否”。根据前面讲的信息增益,这里的经验熵为:然后还可以进行分类再计算。比如先分成是否是老年人还是中年或者青年人,然后再继续下分类别。假设我们设置两层分类:那么经过计算以后得到新的信息熵:计算得到值 0.888所以信息增益为0.971-0.88...原创 2020-03-10 11:03:03 · 6185 阅读 · 0 评论 -
机器学习 之 尽可能通俗易懂的决策树算法
首先先贴一下百科上关于决策树的基本概念:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统...原创 2020-03-05 17:04:23 · 6490 阅读 · 0 评论 -
深度学习神经网络 卷积神经网络 第四节,构建测试程序
测试程序也是很简单。首先创建计算图:with tf.Graph().as_default() as g:计算图的输入和输出占位与之前反向传播的函数一样: x = tf.placeholder(tf.float32, [ mnist.test.num_examples, mnist_lenet5_forward.IMA...原创 2020-03-04 16:18:20 · 6227 阅读 · 0 评论 -
深度学习神经网络 卷积神经网络 第三节,构建反向传播函数
因为反向传播和前面差不多,这里只说一下需要改的地方(毕竟反向传播是依赖于已经构建好的前向传播计算图,设计比较简单)第一个地方是输入x的维度,这里的占位需要用卷积输入的格式: # x, y_是定义的占位符,需要指定参数的类型,维度(要和网络的输入与输出维度一致),类似于函数的形参,运行时必须传入值 x = tf.placeholder(tf.float32, [ ...原创 2020-03-04 16:08:54 · 6077 阅读 · 0 评论 -
深度学习神经网络 卷积神经网络 第二节,构建前向传播函数(二)
先写一个函数名:# 定义前向传播的过程def forward(x, train, regularizer):在这个大函数里我们要把前向传播的网络结构搭建好。x是输入数据,train表示是否是训练还是测试,因为我们训练和测试都在使用同样的前向传播结构。train如果是TRUE,就是训练,如果是FALSE,就说明是用来测试。我们定义第一层网络结构,这是一个卷积层,卷积的结构由前...原创 2020-03-04 12:42:00 · 6346 阅读 · 0 评论 -
深度学习神经网络 卷积神经网络 第一节,构建前向传播函数(一)
因为敲卷积神经网络的代码确实浪费了不少时间,这里我详细地把代码进行解释。只导入一个模块:import tensorflow as tf提前先把变量定义好:这个卷积层是先输入28*28维的图像,图像的通道数是1。第一个卷积核的大小是5,卷积核数量是32.第二个卷积核的大小是5,数量是64。第三层是全连接层的。# 设定神经网络的超参数# 定义神经网络可以接收的图片的尺寸和通道数...原创 2020-03-04 12:03:19 · 6339 阅读 · 0 评论 -
深度学习神经网络 MNIST手写数据辨识 3 应用接口
整理一下,形成一个应用程序。首先仍然是导入各种包:from PIL import Imageimport numpy as npimport tensorflow as tfimport mnist_forward2import mnist_backward2import mnist_test2def restore_model1(testPicArr):#创建一个默认...原创 2020-03-03 12:05:23 · 6486 阅读 · 0 评论 -
深度学习神经网络 MNIST手写数据辨识 2 测试程序
测试相对来说比较简单了。为了间隔性我们每隔5秒打印一次测试结果。导入时间模块和其他模块:import time #为了延迟import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport mnist_forward2import mnist_backward2TEST_IN...原创 2020-03-02 16:21:41 · 6079 阅读 · 0 评论 -
深度学习神经网络 MNIST手写数据辨识 1 前向传播和反向传播
首先是前向传播的程序。为了更清晰我们分段讲解。第一部分导入模块,并设置输入节点为28*28,输出节点为10(0到9共10个数字),第一层的节点为500(随便设的)import tensorflow as tfINPUT_NODE = 784OUTPUT_NODE = 10LAYER1_NODE = 500然后是生成单个层次网络的结构,判断损失函数是否加入正则#定义神经网络...原创 2020-03-02 15:51:15 · 6940 阅读 · 0 评论 -
深度学习神经网络 MNIST数据集
从mnist数据集中导入数据,并存在./data/中。from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('./data/',one_hot=True)打印出训练集,检验集,测试集的个数。print("train data size: " + str...原创 2020-03-01 15:47:49 · 6502 阅读 · 0 评论 -
深度学习神经网络 综合程序解析+参数优化(指数下降学习率+滑动平均+正则化)+问题分析
首先我们给出生成训练集的函数。目前我们使用的训练集的数据都是自己造的。我们把在半径为根2的圆内的点对标红。#coding:utf-8#0导入模块,生成模拟数据集import numpy as npimport matplotlib.pyplot as pltdata_num = 1200seed = 2def generateds(): #基于seed产生随机数 ...原创 2020-02-29 21:19:19 · 6145 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 正则化 第二部分,正则化程序
首先是用来训练的会话:#定义反向传播方法:不含正则化train_step = tf.train.AdamOptimizer(0.0001).minimize(loss_mse)with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) STEPS...原创 2020-02-29 14:10:58 · 6237 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 正则化 第一部分,数据显示
在这里我们首先使用matplotlib里的函数把我们要进行分类的数据显示出来。#coding:utf-8#0导入模块,生成模拟数据集import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltBATCH_SIZE = 30seed = 2#基于seed产生随机数rdm = np.rando...原创 2020-02-28 21:00:27 · 6302 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 滑动平均
在这里我先写一下自己的初步认识,如果以后有更深的认识我还会来进行补充。这里的代码只是一个简单的而且不全面的测试,就是初步看看函数,以及运行看看结果,并不具有实际功能。为什么这么说,待会就知道了。首先所谓滑动平均,就是我们想让模型的参数具有一定的泛华性。何为泛化?我的解释是,该参数不但能反应当前参数的变化,还能把参数的过去值也能考虑进来。即我们训练得到的新的参数是本次训练后得到的参数与前面训...原创 2020-02-28 14:58:37 · 6366 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 学习率
#coding:utf-8#损失函数 loss=(w+1)^2 ,令w初值是常数5 反向传播就是求最优的w,即最小loss对应的w值#0导入模块,生成模拟数据集。import tensorflow as tfimport numpy as npw = tf.Variable(tf.constant(5,dtype=tf.float32))#2 定义损失函数及反向传播方法#因为之前我...原创 2020-02-27 21:47:00 · 6780 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 损失函数2 一个重要误区的纠正
在学习了cross_entropy损失函数以后,我本想将其加入到程序代码中,测试一下二分类的效果:#基于seed产生随机数rdm = np.random.RandomState(seed)#随机数返回32行2列的矩阵 表示32组 体积和重量 作为输入数据集X = rdm.rand(32,2)/10.0+0.9 #范围在 0-1之间for i in range(0,31): ...原创 2020-02-27 17:41:07 · 6290 阅读 · 0 评论 -
深度学习神经网络 Tensorflow参数优化 之 损失函数
我们在前面的程序中添加测试。#随机数返回32行2列的矩阵 表示32组 有两个特征 作为输入数据集X = rdm.rand(32,2)#从X这个32行2列的矩阵中取出一行,判断如果和小于1,给Y赋值1,如果和不小于1,给Y赋值0#作为输入数据集的标签(正确答案)Y = [[x1+x2+(rdm.rand()/10.0-0.05)] for(x1,x2)in X]print("X:"+...原创 2020-02-27 17:10:41 · 6446 阅读 · 0 评论 -
机器学习 Tensorflow基本句法3 加上后向传播,构成整个Tensorflow深度学习程序
首先导入两个包:#coding:utf-8#0导入模块,生成模拟数据集。import tensorflow as tfimport numpy as npBATCH_SIZE = 8seed = 23455BATCH_SIZE 表示一次喂给神经网络多少个数据,不要太大,不然计算会很慢(大小也是相对的)。这里的seed用来产生模拟的数据集随机数,设置了seed以后,我们产生的...原创 2020-02-27 02:30:34 · 6101 阅读 · 0 评论 -
机器学习 Tensorflow基本句法2 前向传播
先把程序放上:#coding:utf-8#用 placeholder 实现输入定义(sess.run 中喂入一组数据)的情况#第一组喂体积 0.7、重量 0.5import tensorflow as tf#定义输入和参数x=tf.placeholder(tf.float32,shape=(1,2))w1=tf.Variable(tf.random_normal([2,3],s...原创 2020-02-26 23:23:01 · 6043 阅读 · 0 评论 -
机器学习 Tensorflow基本句法1 张量 计算图 会话
首先看一下张量计算:import tensorflow as tfa = tf.constant([1.0,2.0])b = tf.constant([3.0,4.0])result = a+bprint(result) #输出:Tensor("add:0", shape=(2,), dtype=float32)并没有打印出来相加的值,而是一个计算图,shape=(2,)表...原创 2020-02-26 21:43:17 · 6236 阅读 · 0 评论 -
学机器学习必备的一些python句法基础 5 文件读写
#文件读写操作import pickleusingData = {"Name":"xiaoming","age":80,"House":["China","Beijing","There"]}save_file=open("testfiles/file_2_2.txt","wb")pickle.dump(usingData,save_file)save_file.close()如果...原创 2020-02-25 11:41:56 · 3344 阅读 · 0 评论 -
学机器学习必备的一些python句法基础 4 Python类和对象
首先定义一个父类Animal,注意父类中函数需要一个self,类似于C++中的this,指代创建实例以后的当前对象class Animal(): def eat(self): print("eating") def act(self): print("move")然后我们定义其子类:注意这个时候,如果创建Mammal对象,则使用eat是打印...原创 2020-02-25 11:13:08 · 6058 阅读 · 0 评论 -
学机器学习必备的一些python句法基础 3 函数 内建函数 模块 包 全局局部变量
#自定义函数def laugh(sound): print("laughing %s"%sound)laugh("hahahaha")def add(a,b): return a+bprint(add(3,7))内建函数:#python 内建函数print(abs(-112))模块的导入:#模块的使用:先导入再使用import timepr...原创 2020-02-25 10:48:24 · 6086 阅读 · 0 评论 -
学机器学习必备的一些python句法基础 2 循环
#循环语句for i in range(0,5): print("hello!")#打印5个Hellolk=["a","b","c","d"]for ist in lk: print(ist)#依次打印 a b c d注意,我曾经这么写了一个程序:#循环语句for i in range(0,5): print("hello!")#打印5个Hell...原创 2020-02-25 10:30:39 · 6101 阅读 · 0 评论