1249-刘同学-算法方向-数据推荐方向-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

特征选择:方差过滤

```python
from sklearn.feature_selection import VarianceThreshold #特征选择,根据方差进行过滤
def var():
    '''
    特征选择-选择低方差的特征
    :return:None
    '''
    var=VarianceThreshold(threshold=1.0)#保留方差值为1的数值
    data=var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])#三行四列的二维数组
    print(data)
    return None

if __name__=='__main__':  #调用
 var()
```

PCA:主成分分析   

把维度降低,但是数据信息尽可能不损耗

 

 

 

 

 

[展开全文]

文本特征分类功能:

1、文本特征抽取:count

文本分类----如每天的文献分类/文章的分类

2、tf  idf:

2.1 tf:term frequency:词的频率    出现的次数(类似count)

2.2 idf:逆文档频率inverse document frequency

log(总文档数量/该词出现的文档数量)

例:log(数值):输入的数值越小,结果越小

tf*idf 重要性

 

 

 

[展开全文]

文本特征抽取:Count 

功能:

文本分类

情感分析

默认对于单个英文字母或者单词:没有不统计

词组分类器:jie'ba

 

[展开全文]

特征抽取:特征值化

字典数据特征抽取:对字典数据进行特征值化

 

DictVectorizer语法:

字典数据抽取:将字典中的一些类别数据,分别转换成一些数值。

数组形式:有类别的这些特征,先要转换字典数据

[展开全文]

pandas数据处理

:缺失值,数据转换,重复值(不用处理)

sklearn:对特征进行处理

 

 

[展开全文]

特征值(具体特征:身高/体重)->目标值(具体要达到的目的:如区分男女)

[展开全文]

机器学习:使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。(强调学习 而不是专家系统)

有监督 

无监督 

强化学习(带反馈)

 

机器学习:数据清洗/特征选择;确定算法模型/参数优化;结果预测

不能解决:大数据存储/并行计算;做一个机器人

 

 

目标函数取最小称 损失函数

数据收集--->数据清洗----->特征工程----->数据建模

 

 

hessian矩阵 对称--》4>0 二阶行列式>0----》正定---->凸函数

[展开全文]

数据预处理

深度学习需要的是标准的正方形图片

(1)image resize

(2)Data Argumentation

(3)Normalize

(4)to tensor

 

[展开全文]

自定义数据集实战

test数据量太小的话,测试结果波动较大,所以我们为了保证测试的效果,会把测试集的数据多分配一些

1、load data ——比较重要的模型;

继承一个通用的母类

inherit from torch.utils.data.Dataset

要定一个两个函数

_len_:数据量

_getitiem_:能够得到指定的样本

2、build model——在我们已经定义好的模型上做一些修改;

3、train and test

4、transfer learning

 

[展开全文]

情感分类实战

Google CoLab

(1)continuous 12 hours;

(2)free K80 for GPU;

(3)不需要爬墙

 

[展开全文]

LSTM使用方法

LSTMcell更为灵活的使用方法,可以自定义喂数据的方式

[展开全文]

2、输入门

it作为一个开度,将多少信息传入到下一个时间点,有算法决定这个开度;新信息同样也是由ht-1和当前点的xt共同决定的。it是对当前信息的过滤系数,当前信息与开度相乘之后就是经过过滤后输入下一个点的新信息。

输入门的值

ct是memory,ht是隐藏层的输出

3、输出值

同样是由开度和ct共同决定的,ot作为开度也是由算法决定的

LSTM如何解决梯度离散的问题呢?

由于存在忘记门、输入门和输出门三个门

当前隐藏层对前一个隐藏层求导时,出现三个值相加的情况,不容易出现都是大或都是小的情况,数值相对可靠,所以效果相对来说更好一些。

[展开全文]

LSTM将短期记忆变长,RNN只能记住比较短的时间序列,LSTM就是为了解决短期记忆的问题。

1、忘记门

[展开全文]

梯度爆炸

why?


梯度是有WR的k次方乘以其他的一些东西得到的

当WR大于1的时候,k次方会非常大

当WR小于1的时候,k次方会接近于0

我们的loss本来是逐渐变小的,发生梯度爆炸的loss会突然增大,为了解决这个问题,我们可以检查当前位置的梯度值,如果大于我们设定的阈值,我们将用梯度本身来除以她此刻的模,再乘以阈值,这样使得梯度在设定范围内,且方向不发生变化

Gradient Clipping

查看一下梯度的模,利用clip_grad_norm把梯度的裁剪到10左右

梯度离散:后面隐藏层梯度变化比较大,前面的隐藏层梯度变化很小,长时间得不到更新

 

 

[展开全文]

out是所有的时间戳上面最后一个memory状态

h是左右一个时间的所有memory状态

 

[展开全文]

memory的更新方式

How to train?

求导过程略

[展开全文]

RNN循环神经网络

RNN跟CNN最大的区别是会根据语境信息更新

 

[展开全文]

时间序列表示方法

pytorch里面并没有支持字符串的功能

one_hot是比较稀疏的、维度高

sequence序列能接受的input shape有两种

[word num, b, word vec]

[b, word num, word vec]

[展开全文]