潘的日记本


  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

Task02-文本预处理;语言模型;循环神经网络

发表于 2020-02-18

文本预处理

文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:

  1. 读入文本
  2. 分词
  3. 建立字典,将每个词映射到一个唯一的索引(index)
  4. 将文本从词的序列转换为索引的序列,方便输入模型

读入文本

1
2
3
4
5
6
7
8
9
10
11
import collections
import re

def read_time_machine():
with open('/home/kesci/input/timemachine7163/timemachine.txt', 'r') as f:
lines = [re.sub('[^a-z]+', ' ', line.strip().lower()) for line in f]
return lines


lines = read_time_machine()
print('# sentences %d' % len(lines))

output:

1
# sentences 3221
阅读全文 »

Task01:线性回归;Softmax与分类模型、多层感知机

发表于 2020-02-14

线性回归的基本要素

模型

为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系:

price=warea⋅area+wage⋅age+b\mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} + b price=warea​⋅area+wage​⋅age+b

阅读全文 »

武汉加油!

发表于 2020-02-10

武汉加油!

贝叶斯误差

发表于 2019-12-30

贝叶斯误差

转载知乎:(https://www.zhihu.com/question/263546637)

Wiki定义:贝叶斯误差(bayes error rate)是指在现有特征集上,任意可以基于特征输入进行随机输出的分类器所能达到最小误差。也可以叫做最小误差。

疑问:“书上说是从预先知道的分布预测而出现的c误差,既然已经预先知道分布了,那么为什么还有误差呢?”

回答:分布是真实的,但预测的输出只能是一个值,所以会有误差。例如,假设真实世界中90%长头发的人为女性,10%为男性(这是已知的真实分布);此时已知一个人头发长,预测该同学性别。由于只能预测男/女。此时即使你知道真实分布,预测为女,也会有10%的误差。这就是贝叶斯误差。

阅读全文 »

2层及多层神经网络的构建

发表于 2019-12-20

1-2层神经网络

该模型可以概括为: INPUT -> LINEAR -> RELU -> LINEAR -> SIGMOID -> OUTPUT.

  • 输入是 (64,64,3) 图像,将其展平为大小为 (12288,1) 的向量。
  • 相应的向量:[x0,x1,...,x12287]T[x_0,x_1,...,x_{12287}]^T[x0​,x1​,...,x12287​]T 然后乘以大小为 (n[1],12288)(n^{[1]}, 12288)(n[1],12288) 的权重矩阵 W[1]W^{[1]}W[1] 。
  • 然后,您添加一个偏差项并获取其偏倚以获得以下向量: [a0[1],a1[1],...,an[1]−1[1]]T[a_0^{[1]}, a_1^{[1]},..., a_{n^{[1]}-1}^{[1]}]^T[a0[1]​,a1[1]​,...,an[1]−1[1]​]T .
    • 然后重复相同的过程。

    • 您将所得向量乘以 W[2]W^{[2]}W[2] ,然后加上截距(偏差)。

    • 最后,取最后一个激活函数为Sigmoid函数,如果大于0.5,则将其分类为猫。

步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def initialize_parameters(n_x, n_h, n_y):
...
return parameters
def linear_activation_forward(A_prev, W, b, activation):
...
return A, cache
def compute_cost(AL, Y):
...
return cost
def linear_activation_backward(dA, cache, activation):
...
return dA_prev, dW, db
def update_parameters(parameters, grads, learning_rate):
...
return parameters
阅读全文 »

数据规范化

发表于 2019-12-15

数据规范化、标准化、归一化

转载:原文链接

  • 在数据分析之前,我们都需要让数据满足一定的规律,达到规范性的要求,便于进行挖掘。

  • 如果不进行变换的话,要不就是维数过多增加了计算成本,要不就是数据过于集中,很难找到数据之间的特征。

  • 在数据变换中,重点是如何将数值进行规范化,有三种常用的规范方法,分别是Min-Max规范化、Z-Score规范化、小数定标规范化。

  • 针对数据库:规范化把关系满足的规范要求分为几级,满足要求最低的是第一范式(1NF),再来是第二范式、第三范式、BC范式和4NF、5NF等等,范数的等级越高,满足的约束集条件越严格。

  • 针对数据:

    1.数据的规范化包括归一化标准化正则化,是一个统称(也有人把标准化作为统称)。

    2.数据规范化是数据挖掘中的数据变换的一种方式,数据变换将数据变换或统一成适合于数据挖掘的形式,将被挖掘对象的属性数据按比例缩放,使其落入一个小的特定区间内,如[-1, 1]或[0, 1]。

    3.对属性值进行规范化常用于涉及神经网络和距离度量的分类算法和聚类算法当中。比如使用神经网络后向传播算法进行分类挖掘时,对训练元组中度量每个属性的输入值进行规范化有利于加快学习阶段的速度。对于基于距离度量相异度的方法,数据归一化能够让所有的属性具有相同的权值。

阅读全文 »

人工智能初探

发表于 2019-12-14

准备淌一淌人工智能的浑水!

准备路线:深度学习→图像分析

人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。“人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,人工智能的发展历史是和计算机科学与技术的发展史联系在一起的。除了计算机科学以外, 人工智能还涉及信息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学和哲学等多门学科。人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。

阅读全文 »

宝塔二级域名javaweb项目ssl配置踩坑

发表于 2019-11-29

1、环境

  • 宝塔界面
  • nginx
  • tomcat
  • javaweb项目
  • ssl个人单域名证书(免费)

2、注意事项

  • 域名是否正确的解析
  • 防火墙是否打开(宝塔和阿里云服务器防火墙都要打开 80和443端口)
  • 网站是否301或302跳转,如果跳转了也要关闭
  • 单域名证书会有指定域名,二级域名必须重新申请
  • 二级域名一定要解析A记录到服务器ip
  • 域名备案只用备案顶级域名,二级域名不用备案
  • 如果有多个二级域名和一个主域名,当主域名开启强制ssl后,没有开启ssl的二级域名会被解析到主域名或其他二级域名需要注意
阅读全文 »

嵌入式Servlet容器(七)

发表于 2019-11-25

嵌入式Servlet容器

一、如何定制和修改Servlet容器的相关配置;

  • 修改和server有关的配置(ServerProperties【也是EmbeddedServletContainerCustomizer】);
1
2
3
4
5
6
7
8
9
server.port=8081
server.context-path=/crud

server.tomcat.uri-encoding=UTF-8

//通用的Servlet容器设置
server.xxx
//Tomcat的设置
server.tomcat.xxx
阅读全文 »

SpringMVC自动配置(六)

发表于 2019-11-23

SpringMVC自动配置

https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#boot-features-developing-web-applications

1. Spring MVC auto-configuration

Spring Boot 自动配置好了SpringMVC

以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoConfiguration)

  • Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans.

    • 自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象(View),视图对象决定如何渲染(转发?重定向?))
    • ContentNegotiatingViewResolver:组合所有的视图解析器的;
    • 如何定制:我们可以自己给容器中添加一个视图解析器;自动的将其组合进来;
  • Support for serving static resources, including support for WebJars (see below).静态资源文件夹路径,webjars

  • Static index.html support. 静态首页访问

  • Custom Favicon support (see below). favicon.ico

  • 自动注册了 of Converter, GenericConverter, Formatter beans.

    • Converter:转换器; public String hello(User user):类型转换使用Converter
    • Formatter 格式化器; 2017.12.17===Date;
1
2
3
4
5
@Bean
@ConditionalOnProperty(prefix = "spring.mvc", name = "date-format")//在文件中配置日期格式化的规则
public Formatter<Date> dateFormatter() {
return new DateFormatter(this.mvcProperties.getDateFormat());//日期格式化组件
}
  • 自己添加的格式化器转换器,我们只需要放在容器中即可

  • Support for HttpMessageConverters (see below).

    • HttpMessageConverter:SpringMVC用来转换Http请求和响应的;User—Json;

    • HttpMessageConverters 是从容器中确定;获取所有的HttpMessageConverter;

    • 自己给容器中添加HttpMessageConverter,只需要将自己的组件注册容器中(@Bean,@Component)

阅读全文 »
1234
paniford

paniford

35 日志
10 标签
© 2021 paniford
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4