人工智能学习笔记
kfyong
分享。快乐 资料、教程整理、分享
展开
-
人工智能学习之python三剑客Matplotlib
Matplotlib主要用来绘图,是机器学习模型的时候,做一些分析。比如可以绘图直观的分析机器学习的模型,可以画一下图,看一下数据的分部情况,还可以分析函数的拟合情况。常用图:折线图散点图柱状图子图绘制...原创 2020-10-21 15:10:59 · 203 阅读 · 0 评论 -
人工智能学习之python三剑客Pandas
数据分析用的,可以将数据读入后做数据处理。常用的数据结构是DataFrame(表格型)。他是有一定顺序排列的多列数据组成的,既有行索引(index)也有列索引(column),都是从0开始创建DataFrame我们常用的是 字典来创建以字典的键作为每一列的名称,以字典值(数组)作为每一列。同时DataFrame会自动加上每一行的索引,从0开始。使用字典创建的DataFrame,columns参数是不可以被使用的,如果传入的列和字典键不匹配,相应的值为NaNdic = {.原创 2020-10-20 18:26:04 · 401 阅读 · 0 评论 -
人工智能学习之python三剑客Numpy
三贱客是指python的一些工具库:Numpy、Pandas、Matplotlib, 在人工智能学习中应用非常广泛numpy 主要是用来快速科学计算,支持一个强大的N维数组对象处理,有成熟的函数库。Pandas用来解决数据分析问题,可以将本地数据读入处理,人工智能是基于大数据的基础上做数据分析,模型搭建。Matplotlib主要是用来绘制图形,几行代码就能表示直方图、功率谱、条形图、错位图、散点图等,方便观察函数的拟合度和数据分类情况。...原创 2020-10-20 15:39:14 · 1139 阅读 · 0 评论 -
五分钟搞定人工智能数学之概率论
概率表述一件随机事件发生的可能性,数学意义上讲是0---1之间的数。两个随机事件A/B。 A./ B 发生的概率分别是P(A)和P(B), AB事件同时发生的概率为P(AB)如果P(A)*P(B)=P(AB),则A和B相互独立。 A发生的概率不影响B发生的概率条件概率,往往做分类的时候用的多一些,指事件A在另一个事件B已经发生的条件下发生的概率。条件概率表述为:P(A|B),读作“在B的条件下的A的概率”。 条件概率可以用决策树进行计算。条件概率的谬论是假设P(A|B) 大致等于P...原创 2020-10-20 10:16:48 · 703 阅读 · 0 评论 -
五分钟搞定人工智能数学之高等数学
大学就学过了,没学过也没关系,现在学也不晚,先了解意义1. 导数(derivative)微积分中的基础概念,xxx补习一下就好了常见的导数计算: 经常用的常数和幂函数求导2. 链式求导:函数是复合函数的时候,如,y对x求导,要对(x+1)求导,然后在对x求导dy =(x+1)3. 求偏导函数多元的,机器学习多元特征的时候肯定都是多元的,要对多个函数求导,才能取到函数的最大、最小,即极值4.幂级数,常用在类似拟合股票趋势这种场景...原创 2020-10-19 14:10:56 · 796 阅读 · 0 评论 -
五分钟搞定人工智能数学之线性代数
线性代数是我们初高中就学会的知识了,现在回头在去看一下,你会发现,太简单了吧.1. 要求知识标量:就是一个数值,没有方向向量:有方向的数值矩阵:按长方阵列排列的复数或实数集合复数实数不了解,可以记住就行,等需要的时候你在去研究2. 计算直接加减法乘法:对位乘,对应位置相乘,乘完还是向量 点乘,对应位置相乘后相加,乘完是个标量...原创 2020-10-19 11:29:18 · 1016 阅读 · 0 评论 -
人工智能数学要求有多高,别走弯路了
一说到人工智能,很多人都觉得非常高深,对技术人员的要求非常高,尤其是数学的要求太高。我们常说,人工智能两条腿,一是python一是数学,python今天先不说,如果你就是要转行做人工智能,前期我想要说的是,数学真的没那么高要求,懂了这三个就够了。1. 线性代数2. 高等数学3. 概率论看完了,你就可以考虑一下自己转人工智能会不会被数学给拦下来了...原创 2020-10-19 11:16:04 · 5723 阅读 · 0 评论 -
如何将一个神经网络当卷积核来用
可以使用多个小的卷积核,来代替一个大卷积核,而且更加偏向于多个小卷积组成一个网络,来代替一个大卷积核。如处理一个5*5的图片,我们可以直接用一层5*5的卷积核来处理一次得到1*1的特征图,也可以用多层网络(小卷积)来代,用两层3*3来替代,在不考虑网络深度造成的像素融合的情况下,两者提取的特征一致。我们如何用一个神经网络,当做一个卷积核,去卷任意大小的图片。1. 只需要做一个卷积...原创 2020-04-16 11:42:44 · 214 阅读 · 0 评论 -
var.detach().numpy() instead. pytorch Tensor 转 numpy 报错
exec(compile(contents+"\n", file, 'exec'), glob, loc) File "F:/GPAI/secondTimes/CatchYou/Train.py", line 49, in <module> pre_rect = out[0].numpy()RuntimeError: Can't call numpy() on V...原创 2020-04-13 17:41:01 · 3501 阅读 · 1 评论 -
神经网络 梯度消失 梯度弥散 网络欠拟合 过拟合
梯度消失,没法反向传播了,网络就无法训练了。原因,激活函数的饱和区间,常用的有饱和区间的激活函数,sigmoid,tanh,softmax, 所以中间层尽量不适用这种激活函数,使用Relu系列的解决; 奇异样本引起, 可以使用标准化(零中心化>数据 - 平均值 , 和 归一化>数据变小,分布不变,奇异样本影响就小了)来解决;层数太深的话,反向传播时(数学角度看的话,是梯度连乘),浅...原创 2020-04-02 13:36:19 · 221 阅读 · 0 评论 -
强化学习(Reinforcement Learning, RL)
强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习。描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的常见模型是标准的马尔科夫链,马尔科夫决策过程(Markov Decision Process, MDP),他是在假设下一个状态由上一个确定的状态来决定(条件概率),每一步都是上一步状态...原创 2020-03-27 10:12:59 · 684 阅读 · 0 评论 -
自编码与变分自编码
神经网络的本质是信息压缩,神经网络公式h = w * x , 做内积,所以神经网络是个相关性判断研究AI顶级公司研究损失。无监督学习是在没有数据标签的情况下,寻找数据特征。但是无监督学习的标签是自身,自监督学习,是无监督学习的一种特殊情况,他是将数据切分N块,然后用各个块来预测其他块。弱监督学习,是将无监督和有监督结合,先用无监督学,使得网络有提取特征能力,然后让有监督学习去矫正,...原创 2020-03-23 22:54:16 · 175 阅读 · 0 评论 -
pytorch学习 残差
残差能很好的解决网络梯度弥散的问题。将网络假设成水管的话,网络层表示为阀门,越往后水管的水量越小,加入残差后,可以理解为,将水管并行,保证每个阀门都能有足够多的水量。残差实际上是做加法,加入以图像为例, pytorch输入图片是[n,c,h,w]的张量,经过一层网络计算后得到的是[n,c',h',w'],如果做张量加法的话必须保证形状一致,n为批次不会变化,如果用卷积我们可以设计...原创 2020-03-18 10:17:36 · 736 阅读 · 0 评论 -
杂项
L2 (w^2)正则化导数是2*w,到后期变化是比较平缓的,很难达到0L1 (|w|) 正则化导数是1,到后期会震荡,有可能会把权重压到0如果权重为0了,网络梯度消失无法训练,所以神经网络一般用L2,dropout 是在当前批次中随机的抑制神经元,让其不参与训练。在测试网络时,要调用evel(),不做神经元抑制...原创 2020-03-27 11:51:03 · 225 阅读 · 0 评论 -
网络归一化 入门
整个网络都要做最大归一化,有均值归一化,最大值归一化,首先要在输入数据上的归一化,对网络内部数据也要归一化15年之前手动调参做归一化,手动调参除了慢,还很难做出深层的网络,网络层深要调的参越多。批归一化batchnormal(BN),2015年提出,用在激活之前,保证梯度不消失,跟残差一样可以保证梯度不消失的同时,他还能解决数据爆炸,他是在通道上做的归一化操作,对应通道上的对应像素做归一...原创 2020-03-17 11:51:44 · 402 阅读 · 0 评论 -
网络如何学习的
神经网络就是个概率,万事无绝对。数据信息瓶颈结构,是信息有多到少,然后由少变多处理一个视别时,并不是需要所有的数据,而是一个信息提取过程,特征提取过程要留下的必须是需要的特征,是能解决当前面临问题的特征,网络如何保证留下的数据是有用的,是根据PCA主成分分析,特征稀疏处理,降维,反向传播将梯度调优之后,就是保留的有用信息稀疏到稠密的情况(图像生成,输入简单信息生成图片),稠密信息...原创 2020-03-16 14:59:20 · 147 阅读 · 0 评论 -
经典网络设计
残差网络resNet(Bottleneck版本)1*1卷积:用1*1的卷积对像素是没帮助,但是可以快速的将通道融合,对通道进行缩放,3*3卷积:快速进行像素的融合1*1卷积:通道还原回去(resnetXt版本)1*1卷积:用1*1的卷积对像素是没帮助,但是可以快速的将通道融合,对通道进行缩放,3*3卷积:加入分组,快速进行像素的融合1*1卷积:通道还原回去...原创 2020-03-16 14:06:44 · 136 阅读 · 0 评论 -
卷积设计
神经网络的深度决定什么? (提取特征的能力,提取特征的抽象程度,他是由于反向的梯度更新决定的,权重更新次数和网络的层数是有关的)每层神经元的个数决定的是(该网络的非线性能力)网络设计深更利于特征提取,但是会有梯度消失(反向时每层神经网络连乘),梯度弥散。相应的何凯明提出了,残差网络,作用是保证后面的反向过程的网络层梯度不为零,反向时加输入值卷积空间层面(理解为图片rgb...原创 2020-03-16 09:30:34 · 229 阅读 · 0 评论 -
基础网络 递归神经网络RNN (recurrent neural networks) 处理时间序列的网络
数据: 图片(数据的载体) 文字的数据需要有顺序能力,比如(我爱中国和中国爱我)翻译现在基于RNN跟CNN一样是权重共享的,状态是有记忆的神经元是同一个,新数据会和上一次细胞的数据状态想成序列,也就有了时间序列,输出时,每次神经元都可以输出信息。如果输入过长,序列过长,会有长期依赖问题,越远数据关联会丢失。LSTM,long short memor...原创 2020-03-14 21:51:19 · 702 阅读 · 0 评论 -
全连接 CNN 基础网络总结
pytorch里,无论哪种网络,输出都是一个Tensor张量。网络设计损失时,是label 和 out相减输出层常用的激活函数: SIGMOiD,二分类 softmax,多分类时,二分类时,退货为SIGMOD,二者输出都是0-1的数据,softmax输出是概率分布,和为1 做二分类时,sigmoid输出1个数,softmax因为是个概率分布,所以会...原创 2020-03-14 14:13:10 · 412 阅读 · 0 评论 -
卷积神经网络 CNN
传统机器学习,是数学模型;深度学习是仿生学,从人自身开始思考,人学习和计算机学习都是通过对比来学习的,数据要有差异学习才有意义,人的大脑会有一个完整的样子(特征,比如猫狗),这种完整的样子,先教给计算机认识(以往经验,先验概率模拟给计算机),也就是训练,然后就拿到特征。训练过程中,会有正样本(包含目标的)和负样本(不包含目标的),正样本就是为了让神经网络认识目标,负样本就是返利,就是为了...原创 2020-03-11 12:03:11 · 396 阅读 · 0 评论 -
感知机
感知机的演变:一、 可以当做线性分类器二、 加入线性分类器三、加入激活函数原创 2020-03-02 16:40:40 · 124 阅读 · 0 评论 -
人工智能 神经网络 激活函数
激活函数,提供非线性能力。1. SIGMOD函数,二分类将数据压缩到0-1之间, 横轴0点对称,以用来做二分类,有饱和区间所以一般用在输出层优点:平滑、易于求导。缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。Sigmoid函数由下列公式定义其对x的导数可以用自身表示:S...原创 2020-02-28 09:56:55 · 1111 阅读 · 0 评论 -
Python 文件操作 写入成功 读不出数据
import ostestFile = open("test.txt","w+",encoding='utf-8')testFile.write("test")#将指针移动到文件首,防止读不到数据;# 因为write完成后,指针在最后录入信息的位置,读的时候指针会向后读取数据,这样造成不到数据testFile.seek(0,0)str = testFile.read()print(...原创 2019-12-09 13:56:23 · 1275 阅读 · 0 评论