demi的博客

Python字符串处理的8招秘籍

Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大、使用非常方便。今天我就把字符串处理时用到最多的方法总结分享给大家,希望大家可以轻松应对字符串处理。

1. 字符串的切片和相乘

(1)切片

str='Monday is a busy day'
print(str[0:7])  #表示取第一个到第七个的字符串
print(str[-3:])  #表示取从倒数第三个字符开始到结尾的字符串
print(str[::])   #复制字符串

(2)相乘

当我们编写Python代码时要分隔符,此时用字符串的乘法操作就很容易实现。

line='*'*30
print(line)
>>******************************

2. 字符串的分割

(1)普通的分割,用split函数,但是split只能做非常简单的分割,而且不支持多个分隔。

自然语言处理中的Encoder-Decoder模型

Encoder-Decoder(编码-解码)是深度学习中非常常见的一个模型框架,比如无监督算法的auto-encoding就是用编码-解码的结构设计并训练的;比如这两年比较热的image caption的应用,就是CNN-RNN的编码-解码框架;再比如神经网络机器翻译NMT模型,往往就是LSTM-LSTM的编码-解码框架。

机器学习之方差、偏差

偏差是指预测结果与真实值之间的差异,排除噪声的影响,偏差更多的是针对某个模型输出的样本误差,偏差是模型无法准确表达数据关系导致,比如模型过于简单,非线性的数据关系采用线性模型建模,偏差较大的模型是错的模型。

神经网络训练的一些建议(方差和偏差的问题:正则化)

算法中的learning rate a(学习率)、iterations(梯度下降法循环的数量)、L(隐藏层数目)、n(隐藏层单元数目)、choice of activation function(激活函数的选择)都需要你来设置,这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数。

CNN初步认识(局部感知、权值共享)

全连接神经网络,需要的参数过多,例如1000*1000的图像,则输入层有10^6个节点,若隐藏层也有10^6个节点,则输入层到隐藏层的参数有10^12个。CNN用局部感知和权值共享大大减少了参数,同时还具备其它优点。它们与自然图像自身具有的特性:特征的局部性与重复性完美贴合。