主页

Windows 10 系统上的 Python 开发环境配置

前言 在 Linux 环境上进行 Python 开发是很多用户的选择,但在很多情况下我们还是离不开 Windows 系统。因此过去只能通过安装双系统或者虚拟机的方式来完成,但无论哪一种方式都不是很方便。 幸运的是从 Win10 开始,系统已经自带了一个 Linux 子系统 (WSL),并且可以与 Windows 环境无缝连接,这大大简化了在 Windows 上搭建 Linux 开发环境的难度。 准备工作 首先说明一下,因为 Windows 子系统 (WSL) 不支持 GUI 桌面或应用程序(如 PyGame、Gnome、KDE 等),因此本文仅适用于不需要图形化界面的 Python 开发。如果你需要开发包含图形化界面的 Python 程序,请直接在 Linux 系统上进行,或者...

阅读更多

边缘化的六四论述:八九春夏,其实发生的是“两场运动”

转载自端傳媒《边缘化的六四论述:八九春夏,其实发生的是“两场运动”》,作者:吉汉 对于六四运动的深入理解,需要我们同时跳出这两种叙事:既告别“知识分子中心论”、重视工人和市民的参与,同时承认“民主”的确是工人和市民参与运动的核心诉求。最关键的是,工人与市民所理解的“民主”,和学生、知识分子所拥抱的民主观念有很大不同。 1989年5月18日,工人在北京街道以电单车游行声援天安门广场绝食的学生。摄:Catherine Henriette/AFP/Getty Images 关于六四运动的历史叙事,比较常见的是两种版本。其中最为主流的版本,当然是把运动放在“民主vs威权”的框架下来理解。这一叙事中的“民主”,往往指的是自由主义意义上的民主。80年代,中共逐渐告别“阶级斗争”...

阅读更多

Vue.js 快速入门

该文为慕课网《3小时速成 Vue2.x 核心技术》的学习笔记,讲师 wayearn 前言 Vue.js 是一个用于创建用户界面的开源 JavaScript 框架,也是一个创建单页面应用的Web应用框架。Vue 所关注的核心是 MVC 模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。 俗话说“工欲善其事,必先利其器”,我们首先配置一下 Vue 的开发环境: 开发环境 (IDE):WebStorm 或 VS Code Node 开发环境:Node.js 和 包管理工具npm 推荐通过 nvm 来安装和管理 Node 环境。安装好 NVM 后,通过 nvm ls 和 nvm ls-remot...

阅读更多

Keras 深度学习笔记(四)机器学习基础:模型评估与正则化

机器学习的四个分支 在《Keras深度学习笔记(三):神经网络入门》的例子中,我们已经介绍了三种类型的机器学习问题:二分类问题、多分类问题和标量回归问题。这三者都是监督学习 (supervised learning) 的例子,其目标是学习训练输入与训练目标之间的关系。 机器学习算法大致可分为四大类,将在接下来的四小节中依次介绍。 监督学习 监督学习是最常见的机器学习类型。给定一组样本,它可以学会将输入数据映射到已知目标。 监督学习主要包括分类和回归,但还有许多变体,比如: 序列生成 (sequence generation)。给定一张图像,预测描述图像的文字。 语法树预测 (syntax tree prediction)。给定一个句子,预测其分解生成的语法树。 ...

阅读更多

从变分编码、信息瓶颈到正态分布:论遗忘的重要性

本文转载自《从变分编码、信息瓶颈到正态分布:论遗忘的重要性》,作者:苏剑林 这是一篇“散文”,我们来谈一下有着千丝万缕联系的三个东西:变分自编码器、信息瓶颈、正态分布。 众所周知,变分自编码器是一个很经典的生成模型,但实际上它有着超越生成模型的含义;而对于信息瓶颈,大家也许相对陌生一些,然而事实上信息瓶颈在去年也热闹了一阵子;至于正态分布,那就不用说了,它几乎跟所有机器学习领域都有或多或少的联系。 那么,当它们三个碰撞在一块时,又有什么样的故事可说呢?它们跟“遗忘”又有什么关系呢? 变分自编码器 理论形式回顾 简单来说,VAE 的优化目标是: \[\begin{equation}KL(\tilde{p}(x)p(z\mid x)\Vert q(z)q(x\mid z))...

阅读更多

Keras 深度学习笔记(三)神经网络入门:层、网络、目标函数和优化器

本文将进一步介绍神经网络的核心组件,即层、网络、目标函数和优化器。并且通过三个介绍性示例深入讲解如何使用神经网络解决实际问题,这三个示例分别是: 将电影评论划分为正面或负面(二分类问题) 将新闻按主题分类(多分类问题) 根据房地产数据估算房屋价格(回归问题) 神经网络剖析 训练神经网络主要围绕以下四个方面: 层,多个层组合成网络(或模型)。 输入数据和相应的目标。 损失函数,即用于学习的反馈信号。 优化器,决定学习过程如何进行。 你可以将这四者的关系可视化,如下图所示:多个层链接在一起组成了网络,将输入数据映射为预测值。然后损失函数将这些预测值与目标进行比较,得到损失值,用于衡量网络预测值与预期结果的匹配程度。优化器使用这个损失值来更新网络...

阅读更多

Keras 深度学习笔记(二)数学基础:张量运算、微分和梯度下降

要理解深度学习,需要熟悉张量、张量运算、微分、梯度下降等数学概念,本文将使用通俗的语言介绍这些概念。首先给出一个神经网络的示例,引出张量和梯度下降的概念,然后逐个详细介绍。 读完本章后,你会对神经网络的工作原理有一个直观的理解,然后就可以学习神经网络的实际应用了。 初识神经网络 我们来看一个使用 Keras 库构建神经网络来学习手写数字分类的例子,将手写数字的灰度图像(28×28 像素)划分到 10 个类别中(0~9)。 这里我们使用经典的 MNIST 数据集,它包含 60,000 张训练图像和 10,000 张测试图像,下图给出了 MNIST 数据集的一些样本。 在机器学习中,分类问题中的某个类别叫作类 (class)。数据点叫作样本 (sample)。某个样本对...

阅读更多

变分自编码器 VAE

转载自《变分自编码器(一):原来是这么一回事》,作者:苏剑林,更新于 2020-06-17 通常我们会拿 VAE 跟 GAN 比较,的确,它们两个的目标基本是一致的——希望构建一个从隐变量 $Z$ 生成目标数据 $X$ 的模型,但是实现上有所不同。更准确地讲,它们是假设了 $Z$ 服从某些常见的分布(比如正态分布或均匀分布),然后希望训练一个模型 $X=g(Z)$,这个模型能够将原来的概率分布映射到训练集的概率分布,也就是说,它们的目的都是进行分布之间的变换。 生成模型的难题就是判断生成分布与真实分布的相似度,因为我们只知道两者的采样结果,不知道它们的分布表达式 那现在假设 $Z$ 服从标准的正态分布,那么我就可以从中采样得到若干个 $Z_1, Z_2, \dots, Z_...

阅读更多