- 博客(72)
- 资源 (1)
- 收藏
- 关注
原创 10.2 香农熵、相对熵(KL散度)与交叉熵
香农熵(Shannon entropy)信息熵(又叫香农熵)反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高。 如果一个随机变量XX的可能取值为X={x1,x2,…,xn}X=\left\{x_1,x_2,…,x_n\right\},对应的概率为p(X=xi)p(X=x_i),则随机变量XX的信息熵为: H(X)=−∑i=1np(xi)logp(xi)H(X)
2017-10-07 20:48:33
911
原创 10.1 信息论概述
信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。它最初被发明是用来研究在一个含有噪声的信道上用离散的字母表来发送消息,例如通过无线电传输通信。在这种情况下,信息论告诉我们如何设计最优编码,以及计算从一个特定的概率分布上采样得到、使用多种不同编码机制的消息的期望长度。 信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。消息“今天早
2017-09-30 22:25:46
964
原创 9.7 python模拟常用分布
本章用Python统计模拟的方法,介绍四种常用的统计分布,包括离散分布:二项分布和泊松分布,以及连续分布:指数分布和正态分布,最后查看人群的身高和体重数据所符合的分布。 首先导入python相关模块:import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns%matplo
2017-09-16 22:45:58
13524
原创 9.6 期望、方差和协方差
期望(Expectation)数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。 离散型随机变量的一切可能的取值xix_i与对应的概率p(xi)p(x_i)乘积之和称为该离散型随机变量的数学期望(若该求和绝对收敛),记为E(x)\mathbb E(x) 。它是简单算术平均的一种推广,类似加权平均。 离散型随
2017-09-09 13:40:10
3216
原创 9.5 条件概率
在很多情况下,我们感兴趣的是某个事件,在给定其他事件发生时出现的概率。这种概率叫做条件概率。我们将给定x=x,y=y\mathbb x=x,\mathbb y=y发生的条件概率记为P(y=y|x=x)P(\mathbb y=y|\mathbb x=x)。这个条件概率可以通过下面的公式计算: P(y=y|x=x)=P(y=y,x=x)P(x=x)P(\mathbb y=y|\mathbb x=x)=
2017-09-02 20:26:40
3930
原创 9.4 边缘概率
有时候,我们知道了一组变量的联合概率分布,但想要了解其中一个子集的概率分布。这种定义在子集上的概率分布被称为边缘概率分布(marginal probability distribution)。 例如,假设有离散型随机变量x和y,并且我们知道P(x,y)P(x,y)。我们可以依据下面的求和法则来计算P(x)P(x): ∀x∈x,P(x=x)=∑yP(x=x,y=y)\forall x\in \ma
2017-08-22 17:01:47
1165
原创 9.3 概率分布
概率分布(probability distribution)用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性的大小。我们描述概率分布的方式取决于随机变量是离散的还是连续的。离散型变量和概率质量函数离散型变量的概率分布可以用概率质量函数(probability mass function,PMF)来描述。我们通常用大写字母PP 来表示概率质量函数。通常每一个随机变量都会有一个不同的概率质量
2017-08-20 17:00:58
1006
转载 9.2 随机变量
随机变量是可以随机地取不同值的变量。我们通常用无格式字体的小写字母来表示随机变量本身,而用手写体中的小写字体来表示随机变量能够取到的值。例如,x1x_1和x2x_2都是随机变量x可能的取值。对于向量值变量,我们会将随机变量写成x\textbf{x},它的一个可能取值为x\boldsymbol{x}。就其本身而言,一个随机变量只是对可能的状态的描述;它必须伴随着一个概率分布来指定每个状态的可能性。
2017-08-16 15:56:22
861
原创 9.1 为什么要使用概率
概率论是用于表示不确定性声明的数学框架。它不仅提供了量化不确定性的方法,也提供了用于导出新的不确定性声明的公理。在人工智能领域,概率论主要有两种用途。首先,概率法则告诉我们AI系统如何推理,据此我们设计一些算法来计算或估算由概率论导出的表达式。其次,我们可以用概率和统计从理论上分析我们提出的AI系统的行为。 概率论使我们能够作出不确定的声明以及在不确定性存在的情况下进行推理,而信息论使我们能够量
2017-08-10 16:52:13
1479
原创 8.11 实例:主成分分析
主成分分析(principal components analysis,PCA)是一个简单的机器学习算法,可以通过基础的线性代数知识推导。 假设在Rn\mathbb R^n空间中我们有mm个点{x(1),…,x(m)}\{x^{(1)},\dots,x^{(m)}\},我们希望对这些点进行有损压缩。有损压缩表示我们使用更少的内存,但损失一些精度去存储这些点。我们希望损失的精度尽可能少。 一种编码
2017-08-03 16:08:34
2061
原创 8.9 Moore-Penrose伪逆
对于非方矩阵而言,其逆矩阵没有定义。假设在下面的问题中,我们希望通过矩阵AA的左逆BB来求解线性方程, Ax=yAx=y 等式两边左乘左逆B后,我们得到 x=Byx=By 取决于问题的形式,我们可能无法设计一个唯一的映射将AA映射到BB。 如果矩阵AA的行数大于列数,那么上述方程可能没有解。如果矩阵AA的行数小于列数,那么上述矩阵可能有多个解。
2017-07-26 17:44:16
2506
3
原创 8.8 奇异值分解
在上一节,我们探讨了如何将矩阵分解成特征向量和特征值。还有另一种分解矩阵的方法,被称为奇异值分解(singular value decomposition,SVD),将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过奇异值分解,我们会得到一些与特征分解相同类型的信息。然而,奇异值分解有更广泛的应用。每个实数矩阵都有一个奇异值分解,但不一定有特征分解。
2017-07-25 16:03:49
947
原创 3.6 矩阵运算
矩阵的加减法运算规则与数组相同,即元素运算,其结果返回新的矩阵。倍乘数运算也是矩阵内元素乘以倍数,返回新的矩阵,且倍数应置于运算符左边。
2017-07-23 15:15:47
2040
原创 3.5 数组运算
ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数。本节主要介绍算术运算、比较运算和统计运算等函数。
2017-07-23 14:46:41
781
原创 8.7 特征分解
许多数学对象可以通过将它们分解成多个组成部分,或者找到它们的一些属性而更好地理解,这些属性是通用的,而不是由我们选择表示它们的方式产生的。
2017-07-22 17:23:03
5541
原创 8.6 特殊类型的矩阵和向量
有些特殊类型的矩阵和向量是有特别用处的。 对角矩阵(diagonal matrix)只在主对角线上含有非零元素,其他位置都是零。形式上,矩阵DD是对角矩阵,当且仅当对于所有的i≠j,Di,j=0i\ne j,D_{i,j}=0。
2017-07-18 15:47:36
3680
原创 3.1 NumPy介绍及导入
Python在科学计算方面提供了完备的程序扩展库,包括机器学习、数学分析、可视化库、GPU并行库等。Continuum Analytics公司开发的Anaconda使得程序扩展库的管理非常方便。
2017-07-17 11:39:55
3839
原创 8.5 范数
在机器学习中,我们经常使用被称为范数(norm)的函数衡量向量大小。形式上,LpL^p范数的定义如下: ||x||p=(∑i|xi|p)1p||x||_p=(\sum_i|x_i|^p)^{\frac{1}{p}} 其中p∈Rp\in \mathbb R,p≥1p \ge 1。
2017-07-16 16:00:01
1248
原创 Kaggel实战:识别手写体[knn改进算法]
说明未采用sklearn自带的knn算法(当时得分96.800%)进行建模改进大神的代码(96.400% )提高到96.886%
2017-07-11 21:53:30
390
原创 Kaggle实战:Digit Recognizer[Random Forest算法]
Kaggle实战:Digit Recognizer[Random Forest算法]
2017-07-11 09:46:04
626
原创 8.4 线性相关、基、维数和子空间
如果逆矩阵A−1A^{-1}存在,那么式Ax=bAx=b肯定对于每一个向量bb恰好存在一个解。但是,对于方程组而言,对于向量bb的某些值,有可能不存在解,或者存在无限多个解。
2017-07-10 16:44:59
6121
原创 2.5 程序流程控制
流程控制是指在程序设计中控制完成某种功能的次序,只有按正确的次序执行代码才能完成指定的任务。Python程序语言有三种基本流程控制结构,即顺序结构、选择结构和循环结构。
2017-07-09 13:51:34
304
原创 2.4 函数
模块化程序设计是进行复杂程序设计的一种有效措施。其基本思想是将一个复杂的程序按功能进行分割,得到一些相对较小的独立模块,每一个模块都是功能单一、结构清晰、接口简单、易于理解的小程序,这些模块称为函数。函数可以被其他模块多次调用,甚至可以调用自己。其目的是提高了程序的模块性和代码的重复利用率,对大型程序的开发很有帮助。 本章节主要介绍内置函数、模块函数和自定义函数。
2017-07-09 13:45:03
364
原创 2.3 运算符与表达式
运算即对数据的操作,对于最基本的运算形式,常常可以用一些简洁的符号记述,这些符号称为运算符或操作符,被运算的对象(数据)称为运算量或操作数。Python中的数据运算主要是通过对表达式的计算完成的。表达式(expression)是将运算量用运算符连接起来组成的式子,其中的运算量可以是常量、变量或函数。
2017-07-09 13:33:46
816
原创 2.2 常量与变量
在程序运行过程中,常量和变量都可以用来存储数据,它们都有自己的名字和数据类型。不同的是,在程序执行过程中,变量中存储的值是可以改变的,而常量的值始终保持不变。
2017-07-09 13:22:35
676
原创 2.1 数据类型
数据类型是指数据在计算机内部的表达和存储形式。根据性质和用途,数据被划分为多种不同的类型。Python基本数据类型包括数值型、字符串型、逻辑型等。此外,Python还有列表、元组、字典和集合等复合类型。
2017-07-09 13:03:18
1025
原创 8.3 单位矩阵和逆矩阵
线性代数提供了被称为逆矩阵(matrix inversion)的强大工具。对于大多数矩阵A,我们都能通过矩阵逆解析地求解式Ax=bAx=b。
2017-07-06 10:38:52
28059
原创 1.3 Python快速入门
要编写Python语言程序,首先需要了解Python语言的语法规则。Python语法简洁、优雅,是编程初学者非常适合的入门语言。
2017-07-05 23:04:11
495
原创 1.2 Python开发环境
1.2.1 Anaconda介绍Anaconda是一种面向数据科学的基于Python语言的开源性软件平台,完整包含了机器学习所需的软件包,包括NumPy、SciPy、Pandas、Matplotlib和scikit-learn等。包是关于函数、数据集、编译器、运算工具等的集合。
2017-07-05 22:37:03
469
原创 1.1 机器学习与Python
本节首先探讨人工智能、机器学习及深度学习的关系脉络,然后明确了数据挖掘与机器学习的概念边界,最后介绍引入目前广泛应用于数据科学领域的Python语言。
2017-07-05 21:50:42
4129
原创 内容简介
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。Python凭借其大量开源的第三方函数模块,以及语法优雅、清晰、简洁的特点,深受数据科学家推崇,业已跻身机器学习语言之首列。
2017-07-05 21:23:50
328
原创 Kaggle实战:Digit Recognizer[KNN算法]
Digit Recognizer链接地址:https://www.kaggle.com/c/digit-recognizer比赛内容:识别手写体采用算法:knn比赛成绩:正确率96.800%
2017-07-04 16:04:27
781
原创 8.2 矩阵的运算
8.2.1 矩阵的转置(transpose) 矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线(main diagonal)。转置是矩阵的重要操作之一,我们将矩阵AA的转置表示为ATA^T,即(AT)i,j=Aj,i(A^T)_{i,j} = A_{j,i}。比如,3x2矩阵的转置矩阵就是2x3矩阵。
2017-07-03 09:46:44
3431
原创 8.1 标量、向量、矩阵和张量
线性代数作为数学的一个分支,广泛用于科学和工程中,掌握好线性代数对于理解和从事机器学习算法相关工作是很有必要的。因此,本书首先探讨一些必备的线性代数知识。
2017-06-29 23:25:14
16137
齐博新闻发布系统1.0
2011-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人