自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 问答 (1)
  • 收藏
  • 关注

原创 20-梯度爆炸、作用域、增加损失值等变量显示

由于csdn的bug,之前写的内容丢失,所以这篇内容不全为什么线性回归中,bias和weight能够被优化?因为其Variable中的trainable参数被设置为了True,所以在使用优化算法时,就能够被优化梯度爆炸/梯度消失在极端情况下,权重的变得非常大,以至于溢出,导致nan值如何解决梯度爆炸问题(深度神经网络(如RNN)中更容易出现):重新设计网络调整学习率(通常学习率过大...

2019-09-22 16:05:28 196

原创 19-tensorflow实现线性回归

线性回归权重与特征相乘的和再加上偏置项。所以线性回归就是找到权重与偏置项的值算法:线性回归策略:均方误差优化:梯度下降步骤:准备好特征与目标值建立模型。随机初始化和特征数相同的权重w和一个偏置b,y_predict = wx+b。注意:只要是模型的参数,必须是变量(Variable)求损失函数,误差。这里选均方误差,loss = ((y_predict1-y1)^2 +…+ (y...

2019-09-22 16:05:19 191

原创 18-tensorflow

基础深度学习介绍深度学习,如深度神经网络、卷积神经网络和递归神经网络已被应用计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域。并获取了极好的效果。tensorflow特点1、真正的可移植性引入各种计算设备的支持包括CPU/GPU/TPU,以及能够很好地运行在移动端,如安卓设备、ios、树莓派等等2、多语言支持Tensorflow 有一个合理的c++使用界面,也有一个...

2019-09-22 12:15:27 223

原创 17-非监督学习-k-means聚类

k-means聚类的步骤:api:聚类一般做在分类之前,如果数据没有目标值的时候,就需要先做聚类,再进行类别的预测案例利用iris的数据进行聚类from sklearn.datasets import load_irisfrom sklearn.cluster import KMeansimport matplotlib.pyplot as pltdef kmeansclu...

2019-09-21 11:14:08 173

原创 16-逻辑回归

逻辑回归应用场景:二分类问题。逻辑回归也能得出概率值逻辑回归为什么叫逻辑回归:因为是二分类,结果非此即彼,与逻辑运算类似线性回归的式子作为逻辑回归的输入所以线性回归的问题,逻辑回归也会出现如何将线性回归的输入转换为一个分类问题的sigmoid函数特点:最后的输出值在0-1之间,当x=0时,y=0.5。0-1与概率是可以相对应的sigmoid公式输出:[0,1]区间的概率值,...

2019-09-20 22:21:07 200

原创 15-岭回归以及模型的保存与加载

岭回归正则化力度也是一个需要调参的过程"""案例:波士顿房价"""from sklearn.datasets import load_bostonfrom sklearn.linear_model import Ridgefrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing imp...

2019-09-20 17:22:53 167

原创 14-过拟合和欠拟合

过拟合和欠拟合的概念模型复杂的原因:数据的特征和目标值之间的关系不仅仅是线性关系欠拟合的原因:学习到数据的特征过少解决办法:增加数据的特征数量过拟合的原因:原始特征过多,存在一些嘈杂特征,模型过于复杂是因为模型尝试去兼顾各个测试数据点解决办法:进行特征选择,消除关联性大的特征(很难做)进行交叉验证(进行检验,而不是消除。让所有数据都有过训练)正则化根据结果现象来判断过拟合...

2019-09-20 17:10:39 145

原创 13-线性回归

线性回归定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合一元线性回归:涉及到的变量只有一个多元线性回归:涉及到的变量两个或两个以上线性模型:即,线性回归就是找到属性和权重的一种组合来预测结果矩阵大多数算法的计算基础"""数组和矩阵的区别 数组 ...

2019-09-20 15:36:17 496

原创 常用库和工具

anaconda常用命令:conda listconda install packagenameanaconda search -t conda packagenameanaconda show packagename

2019-09-20 09:41:45 83

原创 12-分类算法-决策树、随机森林

决策树生活中的决策树模型:显然:判断依据的重要性从前往后越来越小信息的度量和作用在不知道任何信息的情况下猜测32支球队中的冠军:如果用二分法,需要猜5次,即需要的代价为5bit,这个5bit我们称之为信息熵(H)5 = -(1/32log(1/32) + 1/32log(1/32) + … + 1/32log(1/32))公式:概率log概率 之和如果我们知道了一些球队的信息,...

2019-09-20 09:39:33 274

原创 11-交叉验证与网格搜索对k-近邻算法调优

交叉验证目的:为了让被评估的模型更加准确可信数据分类训练集和测试集,再将训练集分为训练和验证集。eg:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试(每次换一组作为验证集,将之前的验证当作之后的一个训练集),每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。从而,所有数据都即作为过训练集,也作为过验证集。交叉验证一般是和网格搜索一起使用...

2019-09-19 20:52:16 359

原创 10-分类模型的评估

分类模型的评估准确率pass混淆矩阵在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)精确率预测结果为正例的样本中正式为正的比例(查得准)召回率真实为正例的样本中预测结果为正例的比例(查得全,对正样本的区分能力)其他分类标准F1-score:反映了模型的稳健性,是...

2019-09-19 19:48:22 187

原创 09-朴素贝叶斯算法

"""朴素贝叶斯算法划分类别的依据:根据其属于各个类别的概率,找出最大概率即可概率基础: 联合概率:包含多个条件,且所有条件同时成立的概率,记做P(A,B) = P(A)P(B) 条件概率:事件A在另外一个事件B已经发生的条件下发生的概率,记做P(A|B)。特性:P(A1,A2|B) = P(A1|B)P(A2|B) 注意,此时A1与A2应当相互独立(相互独立:特征...

2019-09-19 19:32:32 109

原创 08-k-近邻算法

"""k-近邻算法:如果一个样本在特征空间中的k个最相似的(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 最开始由Cover和Hart提出 如何求距离:特征值差的平方的和再开方,也称欧式距离。所以相似的样本,特征之间的值应该都是相近的 为了保证特征之间的影响一样大,应该做标准化 api:sklearn.neighbors.KNeigh...

2019-09-19 19:31:57 84

原创 07-转换器与估计器

"""sklearn中fit_transform():输入数据,直接转换 =fit():输入数据,不转换,可以计算平均值、方差等 +transform():进行数据的转换,将数据转换成值""""""转换器"""from sklearn.preprocessing import StandardScalers = StandardScaler()data = s.fit...

2019-09-19 19:29:54 165

原创 06-数据的划分与sklearn中的数据集介绍

"""数据的两部分: 训练集:用于训练,构建模型 测试集:在模型检验时使用,用于评估模型是否有效 训练集与测试集的常用数据量比:7-3、8-2、7.5-2.5(此比例较好,使用较多) 划分数据的api:sklearn.model_selection.train_test_split 数据集: sklearn.datasets ...

2019-09-19 19:28:38 266

原创 05-机器学习算法分类以及开发流程

"""1. 需要明确: 算法是核心,数据和计算是基础2. 找准定位: 如果只是开发工程师:没必要把数学的推导搞得特别清楚。仅需要把算法的原理搞清楚、知道用在哪些方面、该算法擅长及不擅长的领域即可 重要: 特征工程、调参数、优化 大部分复杂模型的算法设计都是算法工程师在做 应该怎么做? 1. 学会分析问题,...

2019-09-19 19:27:22 288

原创 04-数据降维之特征选择

"""降维:特征的数量 注意:之前说的维度是数组的维度,和这里的维度不一样 为什么要降维:去掉无用的特征,减少特征数量 特征选择的原因: 冗余:部分特征的相关度高,容易消耗计算性能 噪声:部分特征对预测结果有影响 降维的方式: 特征选择:中特征中选出部分特征当作最后的特征作为机器学习的输入数据 ...

2019-09-19 19:26:21 321

原创 03-特征预处理

特征的预处理:对数据进行处理。通过特定的统计方法(数学方法)将数据转换成算法要求的数据两种方式:归一化标准化数值型数据:标准缩放归一化:通过对原始数据进行变换把数据映射到0-1之间。作用于:每一列什么时候进行归一化:当多个特征同等重要的时候,使得一个特征不会对最后的结果造成更大的影响,只适合传统精确小数据场景数据当中如果异常点较多,会有什么影响?:异常点对最大值最小值影响...

2019-09-19 19:22:24 164

原创 02-TF-IDF分析问题

第二种特征抽取的方式:TF-IDFtf:term frequency:词的频率idf:inverse document frequency:逆文档频率:log(总文档数量/该词出现的文档数量),总文档数量一定,如果该词实现的文档数量越多,值越小重要性:tf * idf,即可得出一个词在文档中的重要性。类:sklearn.feature_extraction.text.TfidfVectori...

2019-09-19 19:15:48 175

原创 01-特征抽取

机器学习的数据机器学习的文件一般都不存储在数据库中,常以文件形式存储,eg:csv数据库的缺陷:eg:mysql:性能瓶颈,读取速度受到限制;格式不太符合机器学习要求的数据格式pandas:读取数据,处理数据,基于numpy,速度快(numpy为什么快:释放了GIL锁(注意:只有cpython中有GIL锁))可用数据集:kaggle:真实,数据量大…UCI:覆盖广,数据量大…sci...

2019-09-19 19:13:58 173

原创 Python_Django框架

软件框架定义一个软件是由其中各个软件模块组成的,每一个模块都有特定的功能,模块与模块之间通过相互配合来完成软件的开发。软件框架是针对某一类软件设计问题而产生的Django遵循的是MVC思想MVC框架MVC的产生理念:分工,让专门的人去做专门的事情(比如:输入、处理、输出)MVC的核心思想:解耦MVC是三个模块的简称:M:model,模型,和数据库进行交互V:View,视图,...

2019-08-05 15:50:46 666

原创 Python_如何在Ubuntu上安装Pycharm

进入官方网站:http://www.jetbrains.com/pycharm/download/#section=linux下载Linux版本到本地,然后解压到一个单独的目录下,注意,这个目录就相当于你pycharm的安装目录进入解压后的目录中,进入bin目录下里面有一个pycharm.sh的文件,我们直接./pycharm.sh运行就能够打开pycharm,之后的操作就和...

2019-08-03 21:40:46 161

原创 Github、Git使用教程

使用Github目的借助github托管项目代码基本概念仓库(Repository)仓库的意思,即你的项目,你想在Github上开源一个项目,那就必须要新建一个Repository,如果你开源的项目多了,你就拥有了多个Repository收藏(Star)仓库主页star键,意思为收藏项目的人数,在Github上如果你有一个项目获得100个star都算很不容易了复制克隆项目...

2019-08-03 16:31:41 2494

原创 Python56_Pycharm更换pip源

位置:File—》Settings—》Project interpreter—》pip—》Manage Repositories常用的国内源:清华: https://pypi.tuna.tsinghua.edu.cn/simple豆瓣: http://pypi.douban.com/simple阿里: http://mirrors.aliyun.com/pypi/simple中国科技大...

2019-07-13 21:22:20 103

原创 Python54_路由器连接多个网络、默认网关、浏览器访问服务器的过程

路由器连接过个网络以及默认网关一个交换机连接的多台电脑一般处于同一个网络路由器:可以完成不在同一个网络的多台设备的通信,将多个小的网络组成一个大的网络如果是一个网络内的设备进行通信,直接借助交换机即可,而如果不是在一个网络内,就需要借助默认网关,默认网关一般是路由器网关:一个网络的关口,“如果自己没有能力将数据发走,就找一个东西将数据发走,这个东西就是网关”,它负责将不同的...

2019-07-12 02:04:41 183

原创 Python53_两台电脑的通信与网络掩码、集线器、交换器组网、arp获取mac地址【待完善】

两台电脑的通信与网络掩码ip地址有ABCD等几类,而网络掩码可以确定其中的网络号和主机号电脑中的ip可以自己手动设置子网掩码示例:255.255.255.0。将ip地址和子网掩码都转为2进制,然后将二者进行按位与,由于0与任何数字按位与都是0,所以本子网掩码和任意ip的运算结果的最后一部分的10进制都是0,而前面的3部分均不为零,所以前面3部分为网络号,而如果网络号相同,就可以确定两台电脑在...

2019-07-12 01:06:51 147

原创 Python52_wireshark抓包工具的使用

本次使用wireshark版本3.0.0抓包工具的作用:只要程序发出了数据,抓包工具百分之百能抓到(甚至发给自己)打开软件后如下:点击上面有波动的一项后显示如下:比如,如果只想查看使用tcp协议的部分,就在过滤处输入tcp,只要显示的为绿色,就表明输入的是正确的,如果显示的为红色,表明不正确结果如下:还可以通过过滤只查看某个目的ip的数据,比如,ip.dst==121.199.251...

2019-07-12 00:28:32 929

原创 Python52_TCP-IP协议【待完善】

【暂略】

2019-07-11 23:00:00 100

原创 Python51_epoll实现HTTP

ps:epoll是Linux中使用的IO多路复用就是我们说的select, pll, epoll,有些地方也称这种IO方式为event drive IOselect/epoll的好处就在与单个process就可以同时处理多个网络连接的IO它的基本原理就是select, poll, epoll这个fucntion会不断的轮询所负责的所有socket,当某个socket有数据达到了,通知用户进...

2019-07-11 22:18:07 79

原创 Python50_TCP:单进程、线程、非阻塞实现为多个客户服务

from socket import *import timetcp_server = socket(AF_INET, SOCK_STREAM)tcp_server.bind(("", 9999))tcp_server.listen(128)tcp_server.setblocking(False) # 设置为非阻塞client_socket_list = []while Tru...

2019-07-11 09:44:00 207

原创 Python49_案例:多进程(以及线程)、协程实现http服务器

多进程多进程实现的作用:服务器可以同时为多个浏览器的请求服务,而不是后请求的浏览器要一直等待from socket import *from multiprocessing import Processdef service_client(new_socket, client_addr): """用来为这个客户端返回数据""" # 接收浏览器的请求 recv_da...

2019-07-11 09:01:57 256

原创 Python48_案例:返回固定页面的http服务器

# -*- coding:utf-8 -*-# @Time : 7/10/2019 11:26 PM# @Author : Aodongbiao# @Email : Aodongbiao@163.com# @File : http服务器.py# @Software: PyCharm# @Version : 1.0# @Bug :from socket i...

2019-07-10 23:43:03 183

原创 Python47_HTTP及长短连接简介

HTTP协议简介http:超文本传输协议,是一种网络协议,基于tcp浏览请向服务器发送的请求格式如下(可以用网络调试工具做tcp服务器,并用浏览器进行访问查看):GET / HTTP/1.1 #第一个/表示浏览器请求的页面Host: 127.0.0.1:8080 #服务器的ip:portUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x...

2019-07-10 23:24:31 244

原创 Python46_线程、进程、协程的简单对比

进程是资源分配的单位线程是操作系统调度的单位进程切换需要的资源很大,效率很低线程切换需要的资源一般,效率一般(在不考虑GIL的情况下)协程切换任务资源很小、效率高多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中,所以是并发...

2019-07-10 19:31:24 87

原创 Python45_案例:多任务版UDP聊天器

from socket import *import threadingdef recv_msg(udp_socket): """ 接收数据并显示 :return: """ while True: recv_data, dest_addr = udp_socket.recvfrom(1024) #注意:recvfrom是等待接收,...

2019-07-10 12:33:06 96

原创 Python44_网络编程(UDP、TCP)

网络使用网络能够把多方链接在一起,然后可以进行数据传递所谓的就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信ip地址目的:用来标记网络上的一台电脑(不允许重复)如何查看当前电脑的ip:Linux:ifconfig,中的inet项Windows:ipconfigip地址的分类ipv4:v4就是第四个版本,由四部分组成,eg:192.168.14...

2019-07-09 22:03:39 194

原创 Python43_协程再讲

greenlet的应用import greenletimport randomdef producer(): while True: item = random.randint(0,99) print("生成数字:%d"%item) c.switch(item)def consumer(): while True: ...

2019-07-09 03:49:48 86

原创 Python42_GIL的问题

GIL:全局解释器锁作用:保证了多个线程时,在同一时刻只有一个线程会被调用(不管电脑是几核的)(也就是说python中的线程其实是假的,这就造成在python中多进程的效率远远高于多线程,特别是多核的时候)因此,在python中,能用进程的时候尽量用进程,而不使用线程如果非要用线程呢?如何解决?关键的地方用C语言来写用死循环进行示例,通过查看各个核的占用情况查看是否实现了真正的多线程用...

2019-07-09 03:15:34 90

原创 Python41_异步与回调函数

同步就是你喊你朋友吃饭,你朋友忙,你就一直在那里等,等你朋友忙完了,你们一起去异步就是你喊你朋友吃饭,你朋友说知道了,待会忙完去找你,你就去做别的了代码示例:from multiprocessing import Poolimport time,osdef test(): print("---进程池中的进程---pid = {}, ppid = {}".format(os....

2019-07-09 02:48:37 130

空空如也

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

TA关注的人

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