首页 > 其他分享 >AML HW2

AML HW2

时间:2024-05-14 22:57:44浏览次数:12  
标签:AML Sigma sum mu theta pi HW2 log

一、VC 维

二、图半监督学习

img

上述正则化框架由两部分组成:

  1. 传播项:\(\sum_{i,j} W_{ij} || \frac{1}{\sqrt{d_i}}F_i - \frac{1}{\sqrt{d_j}}F_j||^2\), 这部分是为了保证相似的节点应当有同样的标签,\(W_{ij}\)是节点之间的相似度,而\(F\)是标记矩阵,通过最小化平方项保证相似的节点有相同的标签。
  2. 正则化项:\(\sum_{i=1}^l ||F_i - Y_i||^2\), 这部分是确保在标记传播的过程中,已知标签的节点尽量保持不变,能够保证在已知标签上的表现。

这个正则化框架通过两个项的平衡实现了对图中未标记节点标签的推断:传播项确保了标签信息能在图中相似的节点间有效传播,而拟合项则确保模型在已知标签节点上的预测准确性。

三、高斯混合模型

img

Problem 3.1

高斯混合模型:

\[p(x) = \sum_{k=1}^{K} p(z = k) \mathcal{N}(x | \mu_k, \Sigma_k) \]

其中\(\mathcal{N}(x | \mu_k, \Sigma_k)\)由 k 唯一确定,因此可以用\(p(x|z)\)来表示,即为

\[p(x) = \sum_{k=1}^{K} p(z = k) p(x|z = k) \]

使用概率图模型可以表示为:
img

Problem 3.2

EM 算法的步骤为:

  1. E-step:求解\(\mathbb{E}_{p(z|x;\theta^t)}[\log p(x,z;\theta)]\)
  2. M-step:求解\(\theta^{t+1} = \arg \max_{\theta} \mathbb{E}_{p(z|x;\theta^t)}[\log p(x|z;\theta)]\)

我们假设样本集合为\(\{x_1, x_2, \cdots, x_N\}\),每一对\((x_i,z_i)\)相互独立

在 GMM 中,我们定义\(p(x,z;\theta)\)

\[p(x,z;\theta) = \prod_{i=1}^N p(x_i,z_i;\theta_k) = \prod_{i=1}^N p(z_i) p(x_i|z_i) = \prod_{i=1}^N \pi_{z_i} \mathcal{N}(x_i|\mu_{z_i}, \Sigma) \]

定义\(p(z|x;\theta)\)

\[p(z|x; \theta) = \prod_{i=1}^N p(z_i|x_i;\theta) \]

\[p(z_i|x_i;\theta) = \frac{p(x_i|z_i)p(z_i)}{\sum_{k=1}^K p(x_i|z_i=k)p(z_i=k)} \]

E-step:

\[\mathbb{E}_{p(z|x;\theta^t)}[\log p(x,z;\theta)] = \sum_{k=1}^K p(z=k|x;\theta^t) \log p(x,z=k;\theta) = \\ \sum_{z_1 = 1}^K \cdots \sum_{z_N = 1}^K \prod_{i=1}^N p(z_i|x_i;\theta^t) (\log \prod_{i=1}^N \pi_{z_i} \mathcal{N}(x_i|\mu_{z_i}, \Sigma)) = \\ \sum_{z_1 = 1}^K \cdots \sum_{z_N = 1}^K \prod_{i=1}^N p(z_i|x_i;\theta^t) \sum_{i=1}^N (\log \pi_{z_i} + \log \mathcal{N}(x_i|\mu_{z_i}, \Sigma)) = \\ \sum_{i=1}^N \sum_{z_1 = 1}^K \cdots \sum_{z_N = 1}^K \prod_{i=1}^N p(z_i|x_i;\theta^t)(\log \pi_{z_i} + \log \mathcal{N}(x_i|\mu_{z_i}, \Sigma)) = \\ \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t)(\log \pi_{k} + \log \mathcal{N}(x_i|\mu_{k}, \Sigma)) \]

M-step:

\[(\pi^{t+1}, \mu^{t+1}, \Sigma^{t+1}) = \\ \arg \max_{\pi, \mu, \Sigma} \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t)(\log \pi_{k} + \log \mathcal{N}(x_i|\mu_{k}, \Sigma)) \iff \\ \arg \max_{\pi, \mu, \Sigma} \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t)\log \pi_{k} + \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t) \log \mathcal{N}(x_i|\mu_{k}, \Sigma) \]


那么,对于\(\pi^{t+1}\)

\[\pi^{t+1} = \argmax_{\pi} \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t)\log \pi_{k} \]

由于\(\sum_{k=1}^K \pi_k = 1\),我们可以使用拉格朗日乘子法求解,即

\[\mathcal{L}(\pi, \lambda) = \sum_{k=1}^K \sum_{i=1}^N p(z=k|x_i;\theta^t) \log \pi_k + \lambda(1 - \sum_{k=1}^K \pi_k) \]

对\(\pi_k\)求导,令导数为 0,即

\[\frac{\partial \mathcal{L}(\pi, \lambda)}{\partial \pi_k} = \sum_{i=1}^N p(z=k|x_i;\theta^t) \frac{1}{\pi_k} - \lambda = 0 \Rightarrow \pi_k^{t+1} = \frac{\sum_{i=1}^N p(z=k|x_i;\theta^t)}{\lambda} = \\ \frac{\sum_{i=1}^N p(z=k|x_i;\theta^t)}{\sum_{k=1}^K \sum_{i=1}^N p(z=k|x_i;\theta^t)} = \frac{\sum_{i=1}^N p(z=k|x_i;\theta^t)}{N} \]

其中\(\lambda\)由\(\sum_{k=1}^K \sum_{i=1}^N p(z=k|x_i;\theta^t) = N\)确定


对于\(\mu^{t+1}\)

\[\mu^{t+1} = \argmax_{\mu} \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t) \log \mathcal{N}(x_i|\mu_{k}, \Sigma) \]

由于\(\mu\)各分量之间无关,因此可以分别求解

\[\mu_k^{t+1} = \argmax_{\mu_k} \sum_{i=1}^N p(z=k|x_i;\theta^t) \log \mathcal{N}(x_i|\mu_{k}, \Sigma) = \\ \argmax_{\mu_k} \sum_{i=1}^N p(z=k|x_i;\theta^t) \left( -\frac{d}{2} \log 2\pi - \frac{1}{2} \log |\Sigma| - \frac{1}{2}(x_i - \mu_k)^T \Sigma^{-1} (x_i - \mu_k) \right) \]

对\(\mu_k\)求导,令导数为 0,即

\[\frac{\partial}{\partial \mu_k} \sum_{i=1}^N p(z=k|x_i;\theta^t) \left( -\frac{d}{2} \log 2\pi - \frac{1}{2} \log |\Sigma| - \frac{1}{2}(x_i - \mu_k)^T \Sigma^{-1} (x_i - \mu_k) \right) = 0 \Rightarrow \\ \sum_{i=1}^N p(z=k|x_i;\theta^t) \Sigma^{-1} (x_i - \mu_k) = 0 \Rightarrow \\ \mu_k^{t+1} = \frac{\sum_{i=1}^N p(z=k|x_i;\theta^t) x_i}{\sum_{i=1}^N p(z=k|x_i;\theta^t)} \]


对于\(\Sigma^{t+1}\)

\[\Sigma^{t+1} = \argmax_{\Sigma} \sum_{i=1}^N \sum_{k = 1}^K p(z=k|x_i;\theta^t) \log \mathcal{N}(x_i|\mu_{k}, \Sigma) \]

对\(\Sigma\)求导,令导数为 0,即

\[\frac{\partial}{\partial \Sigma} \sum_{i=1}^N p(z=k|x_i;\theta^t) \left( -\frac{d}{2} \log 2\pi - \frac{1}{2} \log |\Sigma| - \frac{1}{2}(x_i - \mu_k)^T \Sigma^{-1} (x_i - \mu_k) \right) = 0 \Rightarrow \\ \sum_{i=1}^N p(z=k|x_i;\theta^t) \left( -\frac{1}{2} \Sigma^{-1} + \frac{1}{2} \Sigma^{-1} (x_i - \mu_k) (x_i - \mu_k)^T \Sigma^{-1} \right) = 0 \Rightarrow \\ \Sigma^{t+1} = \frac{\sum_{i=1}^N p(z=k|x_i;\theta^t) (x_i - \mu_k) (x_i - \mu_k)^T}{\sum_{i=1}^N p(z=k|x_i;\theta^t)} \]

标签:AML,Sigma,sum,mu,theta,pi,HW2,log
From: https://www.cnblogs.com/Blackteaxx/p/18192458

相关文章

  • yq工具处理yaml文件
    1.yq介绍一个轻量级、可移植的命令行YAML、JSON和XML处理器。yq使用类似jq的语法,但可以处理yaml文件以及json、xml、properties、csv和tsv。它还不支持所有jq功能-但它确实支持最常见的操作和功能,并且正在不断添加更多功能 2.github地址https://github.com/mike......
  • Kubernetes Dashboard部署安装recommended.yaml
    ```yml#Copyright2017TheKubernetesAuthors.##LicensedundertheApacheLicense,Version2.0(the"License");#youmaynotusethisfileexceptincompliancewiththeLicense.#YoumayobtainacopyoftheLicenseat##http://www.apache.......
  • dbt fromyaml 上下文方法简单说明
    fromyaml上下文方法可以用来加载yaml内容,属于一个工具类,比如automate-dv就使用了不少方法参考使用{%-setinfo-%}source_model:raw_staging:"raw_customer"derived_columns:SOURCE:"!1"LOAD_DATETIME:"CRM_DATA_INGESTION_TIME"E......
  • pytest + yaml 框架 -69.新增depend 关键字,导入其它yaml用例
    前言有小伙伴提到,test_a.yml中已经写了几个流程,test_b.yml中希望能接着test_a.yml去写用例,于是就需要先导入test_a.yml用例。为了满足此需求,v1.6.3版本在config中新增depend关键字。需求场景test_a.yml中已经写了一些用例config:variables:x:helloy:wo......
  • Springboot - [06] yaml语法讲解
    Yaml是一种标记语言,Yaml也不是一种标记语言。 一、yaml写法示例application.yaml#普通的key-valuename:harleyserver.port:8081#对象student:name:harleyage:25#对象的行内写法student:{name:harley,age:25}#数组pets:-cat-......
  • Streamlit:快速构建可视化网页(数据科学必备)
    很多算法工程师在完成数据分析、模型训练或者项目总结的时候,往往只能通过ppt汇报,添加数据图表、截图模型实验结果等。如果想提供一个前端演示demo,通常可以搭建flask服务,但是flask需要学习很多前端知识,如css、html等,这又是一个深之又深的坑。那有没有什么工具能够跳过这些模块,直接......
  • Gradio 和 Streamlit
    Gradio和Streamlit都是用于创建机器学习模型的Web界面的Python库,但它们的设计哲学和特性有所不同。以下是对这两个库的简要比较:Gradio:Gradio是一个用于快速为机器学习模型创建简单Web界面的库。它允许用户轻松地将输入数据发送到模型,并接收预测结果。Gradio的界面简......
  • 代理 mitmproxy config.yaml 模板 使用笔记(二)
    代理mitmproxyconfig.yaml模板使用笔记(二)mitmproxyconfig.yaml模板使用mitmproxy可能需要用到config.yaml来批量配置参数目录config.yaml文件所在位置config.yaml配置模板文件位置配置文件默认读取路径:~/.mitmproxy/config.yaml,见配置项:confdir:'~/.mitmpro......
  • goctl快速创建k8s yaml
    安装goctlGO111MODULE=onGOPROXY=https://goproxy.cn/,directgoget-ugithub.com/tal-tech/go-zero/tools/goctlgoctlkubedeploy-namenginx-namespacetest-imagenginx:alpine-replicas1-minReplicas1-maxReplicas3-onginx-j.yaml-port80-nodePort......
  • streamlit用法
    importos.pathimportstreamlitasstimportpandasaspdimportnumpyasnp"""2.1显示标题st.title():用于创建页面的主要标题,通常是最大和最显眼的标题。它是在应用的顶部设置的,并且在整个页面中通常只使用一次,用于表示应用的主题或总体内容。st.header():用于创建一......