0%

2019年3月29日 下午5:04

CS231n视觉识别笔记
CS231n Convolutional Neural Networks for Visual Recognition

GitHub - zeusees/HyperDL-Tutorial: 深度学习教程整理 | 干货

  1. 常见的深度学习框架、基础网络、神经网络的优化、模型之间的转换、适用于移动端的框架、神经网络的设计、神经网络的适用场景、基础网络的训练、面试题

GitHub - trekhleb/homemade-machine-learning

  1. 机器学习算法的讲解和代码实现
  2. 可以直接在Jupyter NBViewer上看

机器学习的paper with code资源:
Browse the State-of-the-Art in Machine Learning
https://github.com/zziz/pwc

2018年的顶级项目
2018 年度 GtiHub 开源项目 TOP 25:数据科学 & 机器学习 | 雷锋网

机器学习的C++优化库
Ensmallen:flexible C++ library for efficient mathematical optimization

標籤: 机器学习 | 程序员说

2019年3月29日 下午4:27

Animated RNN, LSTM and GRU – Towards Data Science

  1. 好的文章都是从国外翻译过来的,真实服了
  2. 我以后也要写英文笔记。

从上面的定义中我们可以发现:

  1. 这三个算法其实都是基本的算数运算组合而成,并没有什么神奇的。
  2. These three algorithms are actually a combination of basic arithmetic and nothing fancy.
  3. 原文里面是gif图,可以看到具体的步骤
  4. The text inside is a GIF, you can see the specific steps

结果图:

2019年3月28日 上午10:26
复习项目难点:

调试:

mac启动各种服务】变换网络环境要改ip。项目代码+Navicat
使用spring-session和调试源码方法
debug操作:

环境配置:

IDEA:

IDEA中war、war exploded的不同 + 热部署

git:

修改commit messagegit commit

虚拟机相关:

虚拟机:桥接网络,host-only,NAT模式的理解
虚拟机:eth0,eth1,eth2 + lo的意思
centos网络配置选项虚拟机配置

Tomcat、redis、nginx、数据库相关:

Mac上ifconfig输出了很多接口,分别表示什么?
修改域名为www.programing.com更改
catalina.home和catalina.base的理解tomcat相关
更改数据库名和数据表名更改
更改项目名+排错更改
redis2.8的安装使用安装
Mac取消redis开机自启启动
配置Mac的双tomcat+nginx实现负载均衡配置

初始环境搭建:

回忆一期的nginx+tomcat配置
maven环境隔离
lombok
创建新的分支+打开v4.0项目

分布式和集群的知识点:

注:这里为了保证时间线,没有太细的分类
乐观锁+悲观锁
拦截器与过滤器的区别
web前后端分与不分离的比较
Cookie
Cookie的domain参数详解
cookie在单点登录中的作用
413 Request Entity Too Large(请求实体太大)nginx配置
java中的过滤器
redis分布式锁
Spring Schedule实现定时关单
SpringMVC全局异常
SpringMVC拦截器
@RequestMapping value用法小结
SpringMVC_RESTful
分布式和集群的区分
redis分布式
redis的consistent hash算法
解决session共享,实现单点登录
redis命令
tomcat集群的详细ppt

2019年3月28日 上午9:58

域名备案需要指明服务器

mac配置安装PHP

新Mac的php环境配置笔记 2017/10
2017/10/2 Mac中配置php的步骤记录
新Mac的php环境配置笔记 2017/9/5
Mac中更改php版本(5.6-7.0)
php-pear的总结
Mac中安装php-pear

服务器使用:

(4)Mac连接腾讯云ubuntu补充
(3)在ubuntu中配置php项目
(2)ubuntu上部署php环境
(1)Mac连接腾讯云ubuntu

ThinkPHP源码分析:

ThinkPHP源码分析(补充)-8
ThinkPHP源码分析(核心)-7
ThinkPHP源码分析-6
ThinkPHP源码分析-5
ThinkPHP源码分析-4
ThinkPHP源码分析-3
ThinkPHP源码分析-2
ThinkPHP源码分析-1
phpDocument的牢骚

wordpress:

wordpress更改媒体大小
wordpress出现http错误
解决wordpress的两个问题
Ubuntu+nginx+php7下安装wordpress
nginx 配置文件更新3
nginx 配置文件更新2

2019年3月27日 下午12:33

CAP提出三个问题

  1. 一致性:通常通过算法、规则来实现
  2. 可用性:通常提高硬件水平,所以不是学习的重点
  3. 分块性:也是就部分坏了,不影响整体。别一块臭骨头坏了整锅汤

解决一致性的方法:

  1. 加锁

    1. 问题:可能出现死锁
  2. 事务

    1. 模式一:ACID
      注:这里里面解释的一致性很不好:看这里最下面 分布式的整体理解
    2. 模式二:BASE
      1. 分布式系统中BASE原理:
        1. 我认为实际生产中我们使用的就是BASE,因为CAP这是一个很强的要求,我们的光信号传播本身就是需要时间的,所以不可能保持绝对的一致性
        2. BASE中的关键词有核心可用+中间状态
          1. 允许中间状态,但是该中间状态不会影响系统的整体可用性
        3. 也就是我们作为一个将军,打仗的时候要保证自己的核心力量的安全,用小的失利换取更大的收益。
  3. 分布式事务:

    1. 定义:分布式事务是指事务的参与者、支持事务 的服务器、资源服务器以及事务管理器分 别位于分布式系统的不同节点。通常一个 分布式事务中会涉及对多个数据源或业务系统的操作
    2. 存在的问题:共识问题 :分布式系统中的进程 经常需要就一些值达成协定,即共识问题
  4. 解决方式:2PC(Two-Phase Commit Protocol)两段式提交

    1. 定义:PPT 任勇毛云计算
    2. 存在的问题:同步阻塞、数据不一致、单点问题、太过保守 PPT

Paxos:

  1. 目的
    1. 解决一致性,一堆人,选谁的问题。eg:服务器中选出master服务器
  2. 为什么一个value会对应多个n值?
    1. 针对同一个问题的方案是可以更新补充的。
  3. 对于proposer,为什么value从accepter获取最新的值?
    1. value相同,代表大家讨论的是同一个问题。
    2. 要针对同一个问题进行讨论。
  4. 一个强假设:
    1. accepter只看最新的时间的,这个时间就是n来表示的。
    2. 由于并发,有稍微旧一毫秒的怎么办?更新一下自己的n,重提就行了。
  5. 简要了流程说明:
  6. 具体的例子
    1. PPT

Gossip:

  1. 目的:解决容错问题方法就是让流言多复制几次,这样其中一台坏了也无所谓。
  2. 三种模式
    1. in the push style,
      1. nodes periodically send (push) the current content of variable value to a node selected randomly
    2. in the pull style,
      1. nodes periodically ask (pull) new updates of the replicated variable from other, randomly selected nodes
    3. in the push-pull style,
      1. push and pull are combined together

2019年3月27日 上午11:38
使用正则,取出包含result_和_result的文件

1
2
3
#删除结果项,与gitignore与正则的语法不同
*result_*
*_result*

2019年3月5日 下午8:21

gitignore配置:

Git忽略提交规则 - .gitignore配置运维总结 - 散尽浮华 - 博客园

初始化:

1
2
3
4
touch .gitignore
Git init
Git add .
git commit -m ‘update .gitignore’

Git忽略规则(.gitignore配置)不生效原因和解决

1
2
3
4
解决方法: git清除本地缓存(改变成未track状态),然后再提交:
[root@kevin ~]# git rm -r --cached .
[root@kevin ~]# git add .
[root@kevin ~]# git commit -m 'update .gitignore'

在使用.gitignore文件后如何删除远程仓库中以前上传的此类文件而保留本地文件

  1. 在使用git和github的时候,之前没有写.gitignore文件,就上传了一些没有必要的文件,在添加了.gitignore文件后,就想删除远程仓库中的文件却想保存本地的文件。这时候不可以直接使用”git rm directory”,这样会删除本地仓库的文件。可以使用”git rm -照亮 –cached directory”来删除缓冲,然后进行”commit”和”push”,这样会发现远程仓库中的不必要文件就被删除了,以后可以直接使用”git add -A”来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。

2019年3月25日 下午12:53
分段锁的原理 - 云+社区 - 腾讯云

独占锁-串行化的缺点:

  1. 在并发程序中,串行操作是会降低可伸缩性,并且上下文切换也会减低性能。
  2. 在锁上发生竞争时将通水导致这两种问题,使用独占锁时保护受限资源的时候,基本上是采用串行方式—-每次只能有一个线程能访问它
  3. 所以对于可伸缩性来说最大的威胁就是独占锁。

降低锁的竞争程度的三种方式:

  1. 减少锁的持有时间
  2. 降低锁的请求频率
  3. 使用带有协调机制的独占锁,这些机制允许更高的并发性。

独占锁:

  1. 在某些情况下我们可以将锁分解技术进一步扩展为一组独立对象上的锁进行分解,这成为分段锁
  2. 原理:
    1. 其实说的简单一点就是:容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,
  3. eg:
    1. 这就是ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。

2019年3月25日 下午1:08

  1. 这个问题我能想出来,我也是笑了。这两个根本就不是一件事。有可能是自己长时间不用,忘记了。
  2. 容器:
    1. 说白了就是java内置的数据类型
    2. 最常用的vector也是一个容器
  3. 线程池:
    1. 目的是为了有效的管理线程,并提供一些功能
  4. 如果非要说关系:
    1. 线程是操作容器的

2019年3月23日 下午9:39

对数据的基本统计全部都是基于一定假设的,这个假设就是一个我们估计出可能满足的分布。

  1. 重点是意识到这个是我们人类猜的,并不一定是真是情况(在学习的过程中,由于总是学具体的方法步骤,往往容易忽略这些本质的问题。)
  2. 假设:明天是晴天是个随机变量,是满足某种分布的那么我们怎么确定他的分布?这时就需要计算各种统计量,这就是我们要计算各种统计量的原因。但是考虑特殊的离群点,这时会造成统计量的错误,进而造成分布的错误。面多这种情况,我们就要选取更加合适的其他统计量。

目前产生假设的两种方法(选择不同的策略对数据进行处理):

  1. 人根据经验进行假设。
    1. 是人产生的,有人的个人偏好
  2. 算法来产生假设

这两句话是这节内容的核心,可以这样理解:

  1. 模型给定的限制条件下(直接用库,不创造),我们如何让模型和数据更好的融为一体,达到更好的效果?
    1. 这里提供了两个思考的角度:
      1. 模型不变的情况下,我们调节数据,做特征工程
        1. 本节内容的核心。
      2. 数据不变的情况下,我们调节模型,这里列举了两种方式
  2. 为什么会有这个问题?
    1. 在竞赛的过程中,这个过程尤为明显。
    2. 大家拿到的都是原始的数据、开放的模型,为什么效果差那么多呢?
      1. 因为:数据和模型没有做到水乳交融,而是分床睡!
    3. 可以从一下角度进行分析:
      1. 数据处理
      2. 模型评估
      3. 模型调参

具体内容看PPT3:

模式识别与机器学习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# PR_ML1903-Data.pdf 的批注摘要。
*文本 [前往页面 3]:* 定义出一个好的、明确的问题是最重要的,在这个前提下我们才考虑数据重要还是算法重要

*文本 [前往页面 3]:* 数据多不是关键,关键是要有噪音少,高效的数据

*下划线 [前往页面 4]:* 存储在数据库里,

*下划线 [前往页面 4]:* 例如所有格式的办公文档、图片、音\视频等

*波浪线 [前往页面 4]:* 具有一定结构,但语义不够确定,字段可根据 需要扩充

*下划线 [前往页面 4]:* ,例如XML、HTML网页。

*文本 [前往页面 11]:* 21 + {[(3200/2)-950]/1500}*29 = 39

*文本 [前往页面 13]:* 怎样理解分位数?
我们如果想知道一个公司员工最大和最小,我们会先排序,然后拿出最大的和最小的。
那么,如果想知道1/4 2/4/3/4位置处员工的工资呢?
此时,就要用分位数来表示

*文本 [前往页面 17]:* 表示的意思是:商店2的销售更好一些。
因为,商店1和2在相同的分位下,商店2的售价更高,这就说明了销售更好一些。

*下划线 [前往页面 26]:* 将输入数据设计成一种能适合所选学习方案的形式

*高亮 [前往页面 26]:* 输入数据

*下划线 [前往页面 26]:* 将输出模型设计得更为有效

*高亮 [前往页面 26]:* 输出模型

*文本 [前往页面 28]:* KNN基于周围的样本

*文本 [前往页面 30]:* 决策树算法

*文本 [前往页面 31]:* 区别:相对于算法是否独立

*文本 [前往页面 31]:* 核心是:如何定义一个新的模型,用目标函数来自动选择属性特征

*矩形 [前往页面 31]:*
*文本 [前往页面 31]:* 直接的评价特征的,相当于一个独立的问题去解决

*文本 [前往页面 31]:* 从整个过程的角度去考虑,看上去更加全面一些

*文本 [前往页面 31]:* 理解:
通过判断不同属性下,统一模型下,这个模型的好坏评估标准来【反应】出属性的好坏,并不是【直接】的选择属性,所以叫做包裹。

*下划线 [前往页面 33]:* 最小的属性集

*下划线 [前往页面 34]:* 对于 n 个属性,有 2 n 个可能的子集

*矩形 [前往页面 40]:*
*矩形 [前往页面 40]:*
*文本 [前往页面 41]:* 主成分分析的目标是通过【转坐标轴】来让样本的离散度越高,因为区别越大,越好区分。
衡量区分是否大的依据是:样本映射到当前这个坐标后,在这个坐标上的方差的大小
并且,还要一个数学上的性质:在转坐标轴的过程中,各个坐标轴上方差的和是不变的。


*下划线 [前往页面 41]:* 第二个坐标轴与第一个坐标轴正交,且选择沿轴向 的方差达到最大值的方向作为第二个轴向

*高亮 [前往页面 41]:* 第一个坐标轴正交

*图章 [前往页面 41]:* IMAGE STAMP

*下划线 [前往页面 42]:* 主成分之间互不相关

*下划线 [前往页面 42]:* 通常惯例是先将所有属性进行 标准化

*下划线 [前往页面 42]:* 使之平均值为0且方差单元化

*文本 [前往页面 42]:* 身高身m还是cm对结果有一定的影响

*文本 [前往页面 42]:* PCA中我们一般默认选择10个属性


*下划线 [前往页面 43]:* 随着维数的升高,随机投影效果与主成分分析效 果的差距呈减小趋势

*下划线 [前往页面 43]:* 随机投影计算成本要低得多

*下划线 [前往页面 44]:* 趋向于使这样的属性具有较大的影响或较高的“权重

*下划线 [前往页面 47]:* 每个单词的属性值应该是什么

*文本 [前往页面 47]:* 这里指的是English


*下划线 [前往页面 48]:* 每个实例代表不同的时间间隙,属性给出了该时间 间隙所对应的值

*波浪线 [前往页面 48]:* 气象预报

*下划线 [前往页面 48]:* 实例并不代表定期的样本,每个实例的时间由特定 的时间戳(timestamp)属性给出

*下划线 [前往页面 48]:* 每个属性代表不同的时间

*波浪线 [前往页面 48]:* 上学经历