mysql

开机自启

配置Binlog

flinkcdc需要用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1 sudo vim /etc/my.cnf
2 写入
server id = 1
log-bin=mysql-bin
binlog_format=row
binlog-do-db=gmall2021
binlog-do-db=gmall2021_realtime
注意:binlog-do-db 根据自己的情况进行修 改,指定具体要同步的数据库,多个就写多行
3 重启mysql
sudo systemctl restart mysqld
4 查看有没有生效
cd /var/lib
sudo ls -l mysql | grep bin
修改mysql库里数据,观察"mysql-bin.最新"文件大小的变化

问题

1 Job for mysqld.service failed because the control process exited with error code

https://blog.csdn.net/qq_41179691/article/details/104598293

2 navicat连不上服务器的mysql

https://blog.csdn.net/u014264373/article/details/85564524

https://blog.csdn.net/MTbaby/article/details/56836986

Negative Sampling 负采样

首先区别于欠采样 ( under sampling )和过采样 (oversampling)

作用

减少计算量,调高训练效率

是什么

负采样,顾名思义,就是从一堆负样本中采样出一部分负样本,用于模型的训练。

1 作用在训练时候

也就是说在训练的时候采样

一个全连接网络为100X10X100,多分类,100选1,也就是说输出层只有一个正样本,99个负样本,为了减少计算量,每次只选部分负样本,比如5个,那么梯度更新的时候,只更新正样本和5个负样本的,这样还剩94个就不更新了

2 作用在训练前面

也就是说在训练前,样本已经采好了

分类

在负采样过程中,有几个问题需要重点考虑:(1)这么多负样本中,到底需要采出哪一部分作为负样本呢(2)需要采出多大数量的负样本?

https://kaiyuan.blog.csdn.net/article/details/122264543

https://zhuanlan.zhihu.com/p/456088223

参考

https://kaiyuan.blog.csdn.net/article/details/122264543

https://blog.csdn.net/ningyanggege/article/details/87869393

https://zhuanlan.zhihu.com/p/456088223

常见题目

1 topk

快排

O(n)

每排一次,就知道基准的位置,就可以得出TopK是在基准左边部分还是右边部分,因此不需要全部排序

堆排

O(k+nlog(k))

2

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

# 给定一个字符串s和一个字符串p,请问最少去掉s中的多少个字符,才能使得p是s的子串呢?
# 解答要求时间限制:1000ms, 内存限制:100MB

# 输入
# 两行,第一行为字符串s,第二行为字符串p。(s和p只包含小写英文字母,s的长度不超过2000,p的长度不超过10,且保证有解)

# 输出
# 最少去掉的字符个数。

# 样例
# 输入样例 1
# axb
# ab
# 输出
# 1

# 输入样例 2
# axabc
# abc
# 输出
# 0

# 输入样例 3
# axbacxbc
# abc
# 输出
# 2

#dp[i][j] 表示 s[:i]最少需要删几个p[:j]是它的子串 O(mn) O(mn)
###

def minedit(str1,str2):
m=len(str1)
n=len(str2)
# max_num=9999
dp=[[None for i in range(n+1)]for j in range(m+1)]
dp[0][0]=0
for i in range(m):
dp[i][0]=0
for i in range(1,m+1):
for j in range(1,n+1):
if str1[i-1]==str2[j-1]:
dp[i][j]=dp[i-1][j-1]
else:
##
if dp[i-1][j]!=None:
dp[i][j]=dp[i-1][j]+1
result=None
for i in range(n,m+1):
if result==None:
result=dp[i][n]
else:
result=min(result,dp[i][n])
return result


print(minedit("axbacxbc","abc"))

Evaluation of Text Generation A Survey

从3个维度将评价指标分类

1 Human-Centric Evaluation Methods

​ gold standard expensive to execute

2 Untrained Automatic Evaluation Metrics

widely used

汇总

property: 应该是说这个方法的关注点

3 Untrained Automatic Evaluation Metrics

over fitting and `gaming of the metric.’

参考

https://arxiv.org/abs/2006.14799

basic algorithm

快排

核心思想:取一个数作为基准,比这个数小的放在左边,大的放在右边,然后左边重复,右边重复。

基准元素,一般来说选取有几种方法

  • 取第一个元素
  • 取最后一个元素
  • 取第中间位置元素

实现方式:一般递归+双指针

伪代码

1
2
3
4
1:首先取序列第一个元素为基准元素pivot=R[low]。i=low,j=high。
2:从后向前扫描,找小于等于pivot的数,如果找到,R[i]与R[j]交换,i++。
3:从前往后扫描,找大于pivot的数,如果找到,R[i]与R[j]交换,j--。
4: 重复2~3,直到i=j,返回该位置mid=i,该位置正好为pivot元素。 完成一趟排序后,以mid为界,将序列分为两部分,左序列都比pivot小,有序列都比pivot大,然后再分别对这两个子序列进行快速排序。

时间复杂度(0nlogn)

参考:

https://zhuanlan.zhihu.com/p/63227573


:D 一言句子获取中...