<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a2011607的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a2011607</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a2011607]]></copyright><item><title><![CDATA[EM算法推导]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/123430663</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/123430663</guid><author>a2011607</author><pubDate>Fri, 11 Mar 2022 17:59:15 +0800</pubDate><description><![CDATA[EM算法用于估计含有隐含变量的概率模型的参数估计，是一种迭代式的求解方法。K-Means和高斯混合模型都算是EM算法使用的经典案例。EM算法包括两个主要的步骤：E步（求期望）和M步（期望最大化），以下是EM算法的手写推导过程：








...]]></description><category></category></item><item><title><![CDATA[高斯混合模型]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/116567266</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/116567266</guid><author>a2011607</author><pubDate>Mon, 10 May 2021 22:53:49 +0800</pubDate><description><![CDATA[定义

先给出高斯混合模型的定义，高斯混合模型是指具有如下形式的概率分布模型：

                  （1）

其中，是系数，且，，而是高斯分布密度，，对于随机变量y是一维数据时，

         (2)

称为第k个分模型。

理解

高斯混合模型属于生成模型，可以设想观测数据，，是这样生成的：首先以概率选择第k个分模型，然后由第k个分模型的概率分布生成观测数据。观测数据是能直接观测到的，已知的；而反映观测数据来自第k个分模型...]]></description><category></category></item><item><title><![CDATA[神经网络]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/115876045</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/115876045</guid><author>a2011607</author><pubDate>Wed, 21 Apr 2021 22:30:42 +0800</pubDate><description><![CDATA[直观解释

神经网络模型，我自己用一句话对其进行概括就是：通过不断的训练，学习出一个函数（即不断调整这个函数的各个参数），使得这个函数在训练集上可以很好的拟合训练样本的真实输出，因为理论上前馈神经网络，只需具备单隐含层和有限个神经单元，就能以任意精度拟合任意复杂度的函数，这是个已经被证明了的定理。比如来看下面这张图：

在这里蓝色的点表示我们的训练样本，行坐标表示的是样本的特征，为了简单起见这里假设输入的特征是一维的，纵坐标表示输出，光从这些蓝色的点我们可以看到这些样本大致呈显出以一定的规律分布，即其分布可]]></description><category></category></item><item><title><![CDATA[基于Frobenius范数的标准NMF更新公式推导]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/111917750</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/111917750</guid><author>a2011607</author><pubDate>Tue, 29 Dec 2020 17:27:25 +0800</pubDate><description><![CDATA[目标函数

在标准非负矩阵分解中，其目标函数很简单，形式为，其中V为观测矩阵，W为基矩阵，H为表示矩阵, 这里假设V为m×n维的，W为m×l维的，H为l×n维的。

更新公式推导\sum_{i,j}^{ }(V_{ij}-(WH)_{ij})^{2}

其更新公式是基于梯度下降法，因此第一步就是要将目标函数分别对矩阵变量W和H求偏导，求出偏导后根据更新矩阵W，根据来更新矩阵H。

更新矩阵W

先对W中的变量求偏导



 （链式求导法则）









故更新公式为

令，带入上式中可得
...]]></description><category></category></item><item><title><![CDATA[(XWZ)的python学习笔记——pandas]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/110949382</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/110949382</guid><author>a2011607</author><pubDate>Fri, 11 Dec 2020 00:08:41 +0800</pubDate><description><![CDATA[Pandas 的数据结构：Pandas 主要有 Series（一维数组），DataFrame（二维数组），Panel（三维数组），Panel4D（四维数组），PanelND（更多维数组）等数据结构。
	
	
	Series 是一维带标签的数组，它可以包含任何数据类型。包括整数，字符串，浮点数，Python 对象等。Series 可以通过标签来定位。
	
	
	DataFrame 是二维的带标签的数据结构。我们可以通过标签来定位数据。这是 NumPy 所没有的。
	
	
	Pandas 中，Series ..]]></description><category></category></item><item><title><![CDATA[(XWZ)的Python学习笔记Ⅷ--------numpy]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/109149577</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/109149577</guid><author>a2011607</author><pubDate>Sun, 18 Oct 2020 20:26:51 +0800</pubDate><description><![CDATA[socket.socket()绑定的是一个随机的端口，使用bind()方法可以重新绑定
]]></description><category></category></item><item><title><![CDATA[(XWZ)的python学习笔记Ⅶ——正则表达式]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/108207511</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/108207511</guid><author>a2011607</author><pubDate>Mon, 24 Aug 2020 20:11:54 +0800</pubDate><description><![CDATA[正则表达式
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则，凡是符合规则的字符串，我们就认为它“匹配”了，否则，该字符串就是不合法的。python中使用re.match()函数来判断给定字符串和正则表达式是否匹配，匹配是从左到右进行匹配，直到正则表达式匹配完或匹配失败，若匹配成功，则返回Match对象，否则返回None。

\n匹配换行符，\f匹配换页符，\t匹配制表符，\r匹配回车符，\t匹配任何空白字符（空格，制表符，换页符等），\w匹配任何一个数字]]></description><category></category></item><item><title><![CDATA[(XWZ)的python学习笔记Ⅵ——进程和线程]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/108190728</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/108190728</guid><author>a2011607</author><pubDate>Sun, 23 Aug 2020 23:26:44 +0800</pubDate><description><![CDATA[目录
文章目录进程和线程多进程ProcessPool多线程
进程和线程
多进程
Process
在python中，我们可以通过实例化multiprocessing模块中的Process类来创建一个子进程，需要给该该进程传入需要执行的函数和对应的参数。进程创建好后使用方法start()来启动，在父进程中使用方法jion()时，父进程会等待子进程执行完后再接着往下执行，同于实现进程的同步操作。来看个栗子就知道怎么操作了：
from multiprocessing import Process
import os]]></description><category></category></item><item><title><![CDATA[（XWZ）的Python学习笔记Ⅴ——I/O编程]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/108121758</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/108121758</guid><author>a2011607</author><pubDate>Fri, 21 Aug 2020 21:20:48 +0800</pubDate><description><![CDATA[计算机主机的输入输出称为I/O操作，即input和output。由于cpu执行速度远高于I/O速度，故cpu和外设之间肯定会存在速度不匹配的问题，有两种方法来解决——同步I/O和异步I/O。同步I/O是指cpu执行完后等待I/O完成，再进行下一步操作，此时cpu处于“忙等”的状态。异步I/O是指再进行I/O操作时，cpu转去执行别的任务，等I/O完成后再返回执行。毫无疑问，异步I/O的效率是要高于同步I/O的，但编程的复杂度高。每一种编程语言都会把操作系统提供的低级C语言的系统调用封装起来方便使用。]]></description><category></category></item><item><title><![CDATA[（XWZ）的python学习笔记Ⅳ——错误、调试和测试]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/108009277</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/108009277</guid><author>a2011607</author><pubDate>Sat, 15 Aug 2020 00:08:58 +0800</pubDate><description><![CDATA[目录



错误、调试和测试

错误处理

try...except...finally...

异常栈

抛出错误

调试

错误、调试和测试

错误处理

try...except...finally...

在程序运行过程中，可能出现各种异常，比如整数除以零，值类型错误，从网络中抓取数据时网络突然中断等等，都可能导致程序无法再运行下去而中止，为此有必要提供一种机制能够及时捕获该异常进行处理使得程序能够继续运行下去。python中提供了try...except...finally...机制来进行处理，.]]></description><category></category></item><item><title><![CDATA[（XWZ）的Python学习笔记Ⅲ——面向对象高级编程]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/107777590</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/107777590</guid><author>a2011607</author><pubDate>Fri, 07 Aug 2020 01:21:10 +0800</pubDate><description><![CDATA[声明：文章基于廖雪峰Python教程

面向对象高级编程


]]></description><category></category></item><item><title><![CDATA[（XWZ）的Python学习笔记Ⅱ------面向对象编程]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/107647991</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/107647991</guid><author>a2011607</author><pubDate>Tue, 04 Aug 2020 01:13:22 +0800</pubDate><description><![CDATA[面向对象编程]]></description><category></category></item><item><title><![CDATA[（XWZ）的python学习笔记Ⅰ]]></title><link>https://blog.youkuaiyun.com/a2011607/article/details/106340288</link><guid>https://blog.youkuaiyun.com/a2011607/article/details/106340288</guid><author>a2011607</author><pubDate>Tue, 28 Jul 2020 00:29:23 +0800</pubDate><description><![CDATA[标题


只有list是可变对象


set 中的元素是无序的，比如s = {1， 2， 3}，即使现在看起来1是第一个元素，2是第二个元素，但实际上可能并非如此，因此没有s[0],s[1]这种操作。
None和‘’、[]、{}等不一样。


只要x是非零数值、非空字符串、非空list等，就判断为True，否则为False。非”零“即为一。


for循环其实可以同时使用两个甚至多个变量，比如dict的items()可以同时迭代key和value。


&gt;&gt;&gt; d = {'x': 'A',]]></description><category></category></item></channel></rss>