tilde

EM(最大期望)算法推导、GMM的应用与代码实现

…衆ロ難τιáo~ 提交于 2020-08-16 05:02:03
  EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计。 使用EM算法的原因   首先举李航老师《统计学习方法》中的例子来说明为什么要用EM算法估计含有隐变量的概率模型参数。   假设有三枚硬币,分别记作A, B, C。这些硬币正面出现的概率分别是$\pi,p,q$。进行如下掷硬币试验:先掷硬币A,根据其结果选出硬币B或C,正面选硬币B,反面边硬币C;然后掷选出的硬币,掷硬币的结果出现正面记作1,反面记作0;独立地重复$n$次试验,观测结果为$\{y_1,y_2,...,y_n\}$。问三硬币出现正面的概率。   三硬币模型(也就是第二枚硬币正反面的概率)可以写作 $ \begin{aligned} &P(y|\pi,p,q) \\ =&\sum\limits_z P(y,z|\pi,p,q)\\ =&\sum\limits_z P(y|z,\pi,p,q)P(z|\pi,p,q)\\ =&\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y} \end{aligned} $   其中$z$表示硬币A的结果,也就是前面说的隐变量。通常我们直接使用极大似然估计,即最大化似然函数 $ \begin{aligned} &\max\limits_{\pi,p,q}\prod\limits_{i=1}^n P(y_i|\pi,p,q) \\ =&

矩池云 | 利用LSTM框架实时预测比特币价格

我的梦境 提交于 2020-08-13 15:46:14
温馨提示:本案例只作为学习研究用途,不构成投资建议。 比特币的价格数据是基于时间序列的,因此比特币的价格预测大多采用LSTM模型来实现。 长期短期记忆(LSTM)是一种特别适用于时间序列数据(或具有时间 / 空间 / 结构顺序的数据,例如电影、句子等)的深度学习模型,是预测加密货币的价格走向的理想模型。 本文主要写了通过LSTM进行数据拟合,从而预测比特币的未来价格。 import需要使用的库 import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler, LabelEncoder from keras.models import Sequential from keras.layers import LSTM, Dense, Dropout from matplotlib import pyplot as plt %matplotlib inline 数据分析 数据加载 读取BTC的日交易数据 data = pd.read_csv(filepath_or_buffer="btc_data_day") 查看数据可得,现在的数据一共有1380条,数据由Date、Open、High、Low、Close、Volume(BTC)、Volume(Currency)、Weighted

EM(最大期望)算法推导、GMM的应用与代码实现

旧街凉风 提交于 2020-08-12 03:37:59
  EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计。 使用EM算法的原因   首先举李航老师《统计学习方法》中的例子来说明为什么要用EM算法估计含有隐变量的概率模型参数。   假设有三枚硬币,分别记作A, B, C。这些硬币正面出现的概率分别是$\pi,p,q$。进行如下掷硬币试验:先掷硬币A,根据其结果选出硬币B或C,正面选硬币B,反面边硬币C;然后掷选出的硬币,掷硬币的结果出现正面记作1,反面记作0;独立地重复$n$次试验,观测结果为$\{y_1,y_2,...,y_n\}$。问三硬币出现正面的概率。   三硬币模型(也就是第二枚硬币正反面的概率)可以写作 $ \begin{aligned} &P(y|\pi,p,q) \\ =&\sum\limits_z P(y,z|\pi,p,q)\\ =&\sum\limits_z P(y|z,\pi,p,q)P(z|\pi,p,q)\\ =&\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y} \end{aligned} $   其中$z$表示硬币A的结果,也就是前面说的隐变量。通常我们直接使用极大似然估计,即最大化似然函数 $ \begin{aligned} &\max\limits_{\pi,p,q}\prod\limits_{i=1}^n P(y_i|\pi,p,q) \\ =&

非凸问题的求解方法以及连续凸逼近SCA(Successive Convex Approximation)方法

假装没事ソ 提交于 2020-08-11 14:46:03
非凸问题的求解方法以及连续凸逼近SCA(Successive Convex Approximation)方法 非凸问题的转换形式 针对形如下式的函数: min ⁡ x ∈ X V ( x ) = F ( x ) + G ( x ) \min\limits_{{\bf{x}}\in X} V(x)=F(x)+G(x) x ∈ X min ​ V ( x ) = F ( x ) + G ( x ) ;[1] 其中F为光滑的(不一定convex),G是convex的但是可能不可微,且存在:对于n维实矢量空间,有 X = X 1 × . . . × X N X=X_1 \times...\times X_N X = X 1 ​ × . . . × X N ​ ; x = ( x 1 , . . . , x N ) \bf{x} =(x_1,...,x_N) x = ( x 1 ​ , . . . , x N ​ ) ; 且 G ( x ) = ∑ i = 1 N g i ( x i ) G(x)=\sum\limits_{i = 1}^N g_i(\bf{x_i}) G ( x ) = i = 1 ∑ N ​ g i ​ ( x i ​ ) . 具体实例求解方法: 1)当 G ( x ) = 0 G({\bf{x}})=0 G ( x ) = 0 , 该问题简化为一个具有凸约束的光滑的

linux 别名

时间秒杀一切 提交于 2020-05-03 16:53:38
[root@localhost tmp]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' [root@localhost tmp]# alias ll='ls' [root@localhost tmp]# ll a.sh mongodb-27017.sock php-cgi.sock systemd-private-39ff8a37d82b4360a74c90d75ec2c644-redis.service-J2rFhV test [root@localhost tmp]# alias ll="ls -l --color=auto"    alias 查看别名 alias ll=

Deep Snake : 基于轮廓调整的SOTA实例分割方法,速度32.3fps | CVPR 2020

江枫思渺然 提交于 2020-05-01 13:33:48
论文提出基于轮廓的实例分割方法Deep snake,轮廓调整是个很不错的方向,引入循环卷积,不仅提升了性能还减少了计算量,保持了实时性,但是Deep snake的大体结构不够优雅,应该还有一些工作可以补,推荐大家阅读   来源:晓飞的算法工程笔记 公众号 论文: Deep Snake for Real-Time Instance Segmentation 论文地址: https://arxiv.org/abs/2001.01629 论文代码: https://github.com/zju3dv/snake/ Introduction   实例分割是许多计算机视觉任务中的重要手段,目前大多数的算法都采用在给定的bbox中进行pixel-wise分割的方法。受snake算法和Curve-GCN的启发,论文采用基于轮廓的逐步调整策略,提出了Deep snake算法进行实时实例分割,该算法将初始轮廓逐渐优化为目标的边界,如图1所示,达到很好的性能且依然保持很高的实时性(32.3fps)。   论文的主要贡献如下: 提出基于学习的snake算法用于实时实例分割,对初始轮廓调整至目标边界,并且引入循环卷积(circular convolution)进行轮廓特征的学习。 提出two-stage流程进行实例分割,先初始化轮廓再调整轮廓,两个步骤均可以用于修正初始定位的误差。 Deep

《SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS》论文阅读

不打扰是莪最后的温柔 提交于 2020-04-11 10:55:36
背景简介   GCN的提出是为了处理非结构化数据(相对于image像素点而言)。CNN处理规则矩形的网格像素点已经十分成熟,其最大的特点就是 利用卷积进行①参数共享②局部连接 ,如下图: 那么类比到非结构数据图(graph),CNN能直接对非结构数据进行同样类似的操作吗?如果不能,我们又该采用其他什么方式呢? 首先思考能不能,答案是不能。至少我们无法将graph结构的数据规整到如上图所示的矩形方格中,否则结点之间的边无法很好表示。 还可以考虑卷积核这一点 ,我们知道不管我的图(image)如何变化(图片变大或变小,图中狗数量多一只),我们设计好的提取特征的卷积核都不需要变化,但是试想,graph还能这样吗,照猫画虎(就是随意猜想),如果我们也设计和图一样的卷积核,如下图。可见怎么设计可复用发提取有效特征的卷积核就不能单纯从拓扑结构上考虑。 GCN卷积思路   那么人们(这方面的研究在很早之前就有,这篇文章也算是“集大成者+新的idea”)如何考虑在Graph上进行卷积呢?总的来说分为两种 ①spatial domain 大致了解了下,抽象来看,和CNN算是有点异曲同工的味道。具体论文还没看过,先不展开细说。 ②spectral domain 这篇论文就是从谱方法展开的,这就同spatial角度差了挺远的了。其灵感应该是从信号处理的傅里叶变换时域与频域转换而来,后文详细说明。

系统目录/ls命令/文件类型/alias命令

橙三吉。 提交于 2020-02-29 19:32:23
9月11日任务 2.1/2.2 系统目录结构 2.3 ls命令 2.4 文件类型 2.5 alias命令 2.1/2.2、2.3 Xshell 4 (Build 0123) Copyright (c) 2002-2013 NetSarang Computer, Inc. All rights reserved. Type `help' to learn how to use Xshell prompt. Xshell:\> Connecting to ... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Sat Sep 8 21:16:59 2018 from gateway [root@centos64-01 ~]# ls / bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr [root@centos64-01 ~]# man ls [root@centos64-01 ~]# ls -l -i -a -t -h -d^C [root@centos64-01 ~]# 备注:ls 常用参数-l -i -a -t -h -d。 2.4

What does symbol tilde (~) mean in CSS [duplicate]

谁都会走 提交于 2020-01-20 01:14:27
问题 This question already has answers here : What does the “~” (tilde/squiggle/twiddle) CSS selector mean? (5 answers) Closed 6 years ago . I want to know what does (~) mean in css. #img1:hover ~ #img2 { opacity: 0; } In visual studio, i get 'unexpected character sequence' error when i use this symbol. what is the actual meaning of this in CSS. what does it do? 回答1: http://www.w3.org/TR/selectors/ 8.3.2. General sibling combinator The general sibling combinator is made of the "tilde" (U+007E, ~)

tilde operator returning -1, -2 instead of 0, 1 respectively

痞子三分冷 提交于 2019-12-30 18:54:07
问题 I'm kind of puzzled by this. I thought the ~ operator in C++ was supposed to work differently (not so Matlab-y). Here's a minimum working example: #include <iostream> using namespace std; int main(int argc, char **argv) { bool banana = true; bool peach = false; cout << banana << ~banana << endl; cout << peach << ~peach << endl; } And here's my output: 1-2 0-1 I hope someone will have some insight into this. 回答1: This is exactly what should happen: when you invert the binary representation of