自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 221 最大正方形

右下角为正方形的右下角的边长,是三个框框中最小的那个+1。因为三个框框分别对应了。正方形其余是几条边。因为木桶效应,新的正方形边长当然是最短的边+1了。根据推导公式和定义初始化,应该初始化第0行和第0列。初始化值应该与矩阵中的值对应。如果想让右下角为正方形的右下角,必须红、绿、蓝、三个框框内所有元素都为1。为正方形右下角的最大正方形边长。组成的二维矩阵内,找到只包含。的最大正方形,并返回其面积。

2023-02-24 02:23:43 117

原创 Fasi.ai V1.0安装与使用

文章目录前言安装conda安装Anancoda安装fastaipip安装其他小例子启动jupyter-notebook新建一个python文件导入包下载数据集数据处理建立模型训练模型结果后语前言fast.ai是一个深度学习的框架。它使用起来非常简单,是一种开箱即用的深度学习库。提供了海量的模型封装,还提供了一些pre-training的模型。开发者设计模型代价降低,还可以做一些迁移学习的研究。...

2019-01-31 16:28:50 1104

原创 使用tensorflow实现CNN

前言好久没有更新博客,在之前的博文用代码一步一步完成了手写数字识别,但是在工业应用中不需要这么复杂的实现。我们造车再也不需要自己造轮子。Tensorflow作为当今最流行的机器学习框架,也是Google的亲儿子,对其学习也是有必要性。当然tensorflow也出来很久了,在写本文的时候tensorflow已经是1.8版本。这篇文章没有什么理论知识,因为理论知识早在前面的文章说过了,也用代码实现...

2018-05-24 15:19:03 21011 20

原创 多元线性回归

前言一元线性回归只是让我们好理解回归这个概念。在实际中特征很少说只有一个。所有就有多元线性回归。概念与一元线性回归一样,多元线性回归自然是一个回归问题。只不过一元线性回归的方程可以写成。 y=ax+b 多元线性回归是 y=a1x1+a2X2+a3X3+…+anXn+b 相当于我们高中学的一元一次方程,变成了n元一次方程。因为y还是那个y。只是特征增多了。模型的训练

2018-01-24 20:23:39 2882 1

原创 回归评价指标MSE、RMSE、MAE、R-Squared

前言分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。下面一一介绍均方误差(MSE)MSE (Mean Squared Error)叫做均方误差。看公式 这里的y是测试集上的。用 真实值-预测值 然后平方之后求和平均。猛着看一下这个公式是不是觉得眼熟,这不就是线性回归的损失函数嘛!!! 对,在线性回归的时候我们的目的就

2018-01-19 15:17:34 148095 18

原创 线性回归算法

前言机器学习第二个基础的算法。跟上一篇博客类似这一遍博客会深入讨论线性回归的细节问题。线性回归算法线性回归算法主要解决回归问题(废话),但是使用线性回归一定要假装认为数据一定呈线性。其思想简单,实现容易。并且其思路就是大名鼎鼎神经网络的基础。也是很多非线性模型的基础。不像knn,其结果有很好的解释性。思路就是从一堆看起来没有联系的样本点中找到一个直线方程,能让数据尽可能

2018-01-19 09:41:00 4586 2

原创 训练集与测试集切分

前言为了 更好的训练数据并且更好测试模型,一般做机器学习之前都会进行训练集和测试集的切分。train_test_split实现其实我们可以先把数据的输入X和输出向量y进行一个水平拼接,然后随机之后拆开,但是过程比较麻烦。在sklearn中shuffle的并不是训练集,而是训练集长度大小的随机索引。产生随机索引值shuffle_indexes=np.random.pe

2018-01-14 15:18:15 5715

原创 K近邻算法

前言这是机器学习最简单的算法,当然并不是说简单就没人用。knn算法的优点就是简单而且便于实现,并且有一定好的效果。算法原理K近邻的算法思路很简单。背景假设 有两个类别散落在这个特征空间中。 现在有一个新的样本需要预测它属于哪个类别。 思路介绍step1: 暴力的求出新样本与其余所有样本的“距离”。 step2: 找到距离它最近的k的点。(这就是k近

2018-01-14 15:11:25 1142

原创 numpy基础学习大集合(三)

前言接着上面的,这里主要是玩numpy.array中的元素。聚合操作这主要是用函数进行数组间元素的计算,比如求max呀,求min之类。import numpy as npL=np.random.random(100) #100个 0-1之间Larray([ 0.03898595, 0.3022195 , 0.7882287 , 0.76270256, 0.3

2018-01-10 13:12:18 763 2

原创 numpy基础学习大集合(二)

前言很明显这是接着(一)的续集,这是numpy的基础学习。上一篇主要说了numpy的创造和合并,以及numpy数组的合并和分解。主要是说比array.array差不多,但是array没有那么多复杂的功能。numpy.array 有这个。这里说的是矩阵一些通用功能Universal Function把数组当作矩阵或者向量进行计算叫做Universal Function。这里会把数组中

2018-01-09 10:45:35 854

原创 numpy基础学习大集合(一)

前言机器学习,深度学习必备知识。不懂简直懵逼,这里列举了常用的以自己复习和入门。安装pip安装pip install numpy anaconda傻瓜安装自带numpy https://www.anaconda.com/download/#macos 自行选择。(备注:python将于2020年停止python 2的更新,建议选择学习py3)

2018-01-08 15:59:27 5845

原创 RNN与LSTM

前言循环神经网络,循环神经网络与卷积神经网络有很大的不同。就是有“记忆暂存”功能,可以把过去的输入内容产生的影响量化后与当前时间输入一起反应到网络中参与训练。RNN理解个人理解,RNN还是在模仿人类。在模仿人类的学习的过程。根据前言所述,当前输入对未来可能会有影响。那么当前的输出应该也跟之前的输入和当前的输入有关系。 举个生活中的例子:例子背景就是在学校念书读小学。在这里把神经元比做自己,输入Xt

2018-01-02 14:54:57 1023

原创 python类的假私有成员变量

#前言 Python的类并不使用关键字区分是私有成员和共有成员,但是为啥私有成员变量外面还是访问不到呢?粗糙的隐藏普通的python类class TT: def __init__(self,name): self.name=name self.privateMem=1t=TT('hah')print(t.privateMem)想都不用想会打印出1因为这个时

2017-12-26 16:13:34 754

原创 Python与枚举

前言枚举是一个常见的数据类型。在Python中枚举却不是一个类型,而是一个类。简单粗暴!使用from enum import Enumclass VIP(Enum): YELLOW = 2 GREEN = 2 BLACK = 4 RED = 5print(type(VIP))print(type(VIP.GREEN))结果<class 'enum.EnumMeta

2017-12-26 15:55:09 871

原创 数据挖掘——关联分析

前言关联规则是人类认知客观事物形成的一种认知模式。人们可以从庞大的事物个体中发现一个或者多个的关联。从而建立出关联规则。就像一个因果关系一样,就像我们看到恶狗就想到 可能会咬人(本人对狗无恶意),按下开关的按钮灯就会开。这些事物本身是没有联系的。但是人们可以从中学到一个关联规则。那么机器如何学的到呢?就像每本BI(商业职能)教材或者数据挖掘教材都会讲到的“啤酒和尿布”的案例,这两个本身毫无联系的东西

2017-12-26 15:37:42 1043

原创 Python的JSON

前言JSON是一个轻量级的数据交换格式。Python也可以很好的使用JSON,但是使用的逻辑与其他的语言有点差别。JSON实质JSON其实是一个单独的语言,跟javascript没有多大关系,并不是傍着javascript出现的。它的存在是为了跨语言交换数据! 假设:世界上只有一种计算机语言。 所有人使用一种语言进行数据交互没有什么问题。假设:世界上只有两种语言。 人们设计一种数据转换规则就可

2017-12-26 15:35:23 493

原创 python自定义异常和主动抛出异常(raise)

前言有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用户自定义异常是什么鬼的。raise语句主动抛出异常。 格式: 主动抛出异常终止程序 raise 异常名称(‘异常描述’)raise RuntimeError('testError') 主动抛出这个异常,并加以解释。自定义异常pytho

2017-12-16 16:20:33 145399 6

原创 python的with关键字

前言with表达式其实是try-finally的简写形式。但是又不是全相同。格式"""格式with context [as var]: pass"""其中的context是一个表达式,返回的是一个对象,var用来保存context表达式返回的对象,可以有单个或者多个返回值。with open('1.txt') as f: print(f.read())print(f.close

2017-12-16 16:04:58 920

原创 python错误和异常处理

前言异常处理是为了让程序更加健壮,让程序面对一下非法输入或者“呆子”有一定应对能力。python的异常处理跟java很像,java中把异常粗略划分为错误和运行异常。在这里统一叫Error 常见的错误这里只列举常见的,更快的明白python异常处理逻辑才比较重要。NameError这是比较常见的一个错误,就是没有定义变量就把它拿来用。 SyntaxError这是语法错误,少了个冒号啊,没有空格啊,都

2017-12-16 15:40:18 10129

原创 Matplotlib的子图subplot的使用

前言Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图。这是怎么做到的呢。matplot提供两种方法。subplot直接指定划分方式和位置进行绘图。t=np.arange(0.0,2.0,0.1)s=np.sin(t*np.pi)plt.subplot(2,2,1) #要生成两行两列,这是第一个图plt.subplot('行','列','编号')plt.pl

2017-12-11 20:25:23 5937

原创 Matplotlib简单使用

前言Matplotlib画图基础,这个会了基本能做图。简单绘图引入包import matplotlib.pyplot as pltimport numpy as np列表绘图只需要使用python的列表即可画图。a=[1,2,3]plt.plot(a)plt.show() 这样x 轴是列表的index。 y轴是列表的值。但是这样是不是很奇怪。因为列表的index不可能为小数的。我们也可以用

2017-12-11 20:01:57 528

原创 Tensorflow之TensorBoard的使用

前言这是对TensorBoard的简单使用 。简介Tensorboard是一个web应用程序套件,用于检查tensorflow程序的运行情况。可以直观了解训练情况。使用使用summary op。用上一篇文章的例子,用tensorboard记录cost的变化。加入summary把待观察的op加入到summary op 的scalar中# 创建summary来观察损失值tf.summary.scala

2017-12-07 21:56:46 1424

原创 tensorflow搭建简单回归模型

前言这是使用tensorflow 搭建一个简单的回归模型,用于熟悉tensorflow的基本操作和使用方法。模型说明这是一个简单的线性回归模型 损失函数是均方误差 这个有机器学习基础的同学应该很熟悉了。模型数据造的假的# 训练数据train_X = np.asarray([3.3, 4.4, 5.5, 6.71, 6.93, 4.168, 9.779, 6.182, 7.59, 2.167,

2017-12-06 22:15:24 909

原创 Tensorflow环境搭建&基本概念

前言本文只是tensorflow的简单介绍。安装很简单直接pip install tensorflow就可以了。 如果喜欢用Pycharm ,可以直接按照下包的流程把它下载下来即可。 验证安装:hello world程序import tensorflow as tfhello=tf.constant("hello ,world") sess=tf.Session()print(sess.r

2017-12-06 15:21:27 385

原创 卷积神经网络组件之卷积&池化层

前言其实之前使用的bp前馈神经网络就是一个全连接神经网络,现在就是要把它封装成一个层。在卷积神经网络中会使用到。卷积神经网路(CNN)卷积神经网络也是一种前馈神经网络,相对于传统的神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现(摘自维基百科)。 怎么去解释和理解这句话呢? 之前实现的是一个全连接神经网络,也就是说每个神经元对应一个输入,当前层的输出就是下一

2017-12-04 10:09:10 2028 3

原创 神经网络识别手写优化(三)

前言本文是为了实现存储自己训练好的模型 结构和参数,以及加载训练好的模型进行预测。代码保存 def save(self,filename): """ 模型保存 :param filename: 文件名 :return: """ data ={ "sizes": self.sizes, #模型结构

2017-12-01 15:25:58 277

原创 神经网络识别手写优化(二)

前言本文接着一写的,还是对之前实现的神经网络进行一个优化。DropOut这个东西也是防止过拟合的。意思就是每一轮训练完了之后,丢弃掉一些神经元。从而防止过拟合。这是什么原理?因为我们网络的神经元过多,有些神经元把没有泛化能力的特征记录了下来,通俗来说就是把无关紧要的东西记录了下来。及时在训练集上表现的特别好,cost会降到很低,但是在验证集上反而会升高,因为验证集上的数据可能不包括那些无关紧要的东西

2017-11-30 16:48:19 327

原创 神经网络识别手写优化(一)

手写识别优化前言之前实现的神经网络还有很多可以优化的地方。本文主要正对其进行优化。初始化在训练神经网络之前参数初始化。这里的参数就是w,b。 w,b的初始化。 权重w初始化基于正态分布模型(高斯分布): 以0为均值,1为方差然后除以当前神经元的个数的算数平方根。 偏执b初始化基于高斯模型: 以0为均值,1为方差。 公式为:为什么? 首先观察一下高斯分布的函数图像 符合高斯分布的数据也

2017-11-29 22:37:46 774

原创 Python-CodeWars-17-11-26

CodeWars-1126# -*- coding: utf-8 -*-# @Time : 2017/11/26 上午11:59# @Author : SkullFang# @Email : [email protected]# @File : 11-26.py# @Software: PyCharmimport mathdef remove_char(

2017-11-27 21:54:48 435

原创 神经网路识别手写(Mnist)

神经网路识别手写(Mnist)前言本文是之前我们实现的神经网路对手写体识别的一个实践。使用的数据是经典的Mnist数据。 下载链接为: http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz官网地址是http://yann.lecun.com/exdb/mnist/数据读取这里直接使用别人提供的读取函数。# -*- codin

2017-11-27 19:45:59 619

原创 神经网络——梯度下降&反向传播

前言本篇是根据上一篇博文《神经网络–前向传播》续写的。 http://blog.csdn.net/skullFang/article/details/78620456 本文中的数学知识有点,需要一点微分的知识。(会求导)就可以。基本概念在上文我们已经知道了什么是前向传播。就是当前层的输入是上一层的输出,当前层的输出是下一层的输入。然后一层一层的传递下去。反向传播也叫反向更新。根据感知机的原理。神

2017-11-25 21:19:52 9504 3

原创 BP神经网络-前向传播

前言回顾前向传播前言本文是接着上一文多层感知机所写的。上一文说的了如何初始化一个MLP。本文简单介绍一下前向传播的概念以及代码实现。 上文:http://blog.csdn.net/skullfang/article/details/78609851回顾还是从一个简单的多层感知器入手,这个感知器只有两层(输入层不算)。输入层——隐藏层——输出层 模型: 其中w是 权重。b 是偏置。(注意

2017-11-24 00:11:43 2502

原创 深度学习-多层感知器

多层感知器多层感知器(Multilayer Perceptron,缩写MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。 MLP是感知器的推广,克服了感知器不能对线性不可分数据

2017-11-23 00:24:25 4733

原创 Pycharm+Scrapy安装并且初始化项目

前言Scrapy是一个开源的网络爬虫框架,Python编写的。最初设计用于网页抓取,也可以用来提取数据使用API或作为一个通用的网络爬虫。是数据采集不可必备的利器。安装pip install scrapy 如果使用上面的命令太慢。国内可以使用豆瓣源进行加速。pip install -i https://pypi.douban.com/simple scrapy 注意要写错了,是 https://p

2017-11-22 20:28:52 11872 2

原创 python-正则表达式

正则表达式前言本博文就是简单讲一下python3 的正则表达式。看完这个能达到可以初步使用。至于更深层次内容需要继续学习和查看相关资料。另外文python版本为python3.5 本文主要介绍四类正则符号。注意:这里的分类没有啥依据。 1) ^ $ * ? + {2} {2,} {2,5} | 2) [] [^] [a-z] 3)\s \S \w \W 4) [\u4E00-\u9f

2017-11-20 20:20:53 565

原创 神经网络-自适应神经元

自适应神经元前言感知机存在的问题自适应神经元算法步骤权重初始化计算预测值更新权重更新阈值代码部分自适应神经元前言本博客讲解的是自适应性神经元,为以后的深度学习打下基础。 本文章是阅览技术文档加以实现和理解。 原文地址:http://www.ranling.com/category/it/689240.html 这篇博客是继上一篇博客写下的。 神经网络-感知器:http

2017-11-18 15:38:49 3523

原创 神经网络-感知器

目录目录前言感知器Frank Rosenblatt感知器Heaviside阶跃函数算法步骤权重初始化计算预测值更新权重更新阈值代码部分前言这是一篇神经网络最最最基础的博文! 讲解的是感知器和自适应性圣经元,为以后的深度学习打下基础。 本文章是阅览技术文档加以实现和理解。 原文地址:http://www.ranling.com/category/it/689240.html

2017-11-17 19:03:40 1127

原创 Idea 2017配置struts2--超坑爹问题解决

一、博文说明 为啥写这东西,因为struts2 是web开发必备知识,虽然现在可能不会使用,但是面试一般可能问到。现在struts2升级到2.5这与2.3有很大区别,详细很多小伙伴照着网上各种教程都没有办法成功。然而idean内部集成的也是struct2.5。这就很坑爹了。本人在配置struts环境的时候遇到了一系列的问题。 1.Tomcat启动不了。 2.org.apache.struts2

2017-10-11 12:25:06 11232 22

原创 Leetcode_215_Kth Largest Element in an Array

Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.For example, Given [3,2,1,5,6,4] and k = 2, return 5.Note:

2017-07-30 16:20:29 298

原创 Leetcode_88_Merge Sorted Array

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional

2017-07-30 16:07:13 225

空空如也

空空如也

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

TA关注的人

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