Power Shell的使用与配置
Power Shell的使用与配置
Windows下终于有可用的shell了。Power Shell自5.0版本之后,可用性越来越高,对于经常使用windowns的人来说,是一大福音。
1. Power Shell的安装
见power shell的github主页,可以下载安装各种稳定版和预览版
https://github.com/PowerShell/PowerShell
2. Windows Terminal的安装
Windows Terminal好用了很多,支持多种配置文件和界面配置,一经发布得到很多人的喜欢,尤其是配合wsl、power shell等效果非常好。可以通过微软商店来安装,也可以到其github主页下载安装
https://github.com/microsoft/terminal/
3. Power Shell 的常用配置
(1)传输安全控制协议
问题:
新版PowerShell改变了传输安全策略,导致在power shell中访问网络资源总是报SSL无法连接的错误
解决办法:
[Net.ServicePointManager]::Sec ...
数值优化算法【4】-- Adam 方法
数值优化算法【4】-- Adam 方法
RMSProp 和 AdaDelta 均采用加权移动平均的方法,对二阶动量做了窗口限制,使得学习效率得到明显提升; AdaDelta 方法进一步对学习率的分子项做了自动累积计算,无需人工指定全局学习率超参数(实际情况表明, AdaDelta 容易陷入局部最优解的陷阱)。 Adam 算法则采用了另外一种思路,其没有将思路放在自动计算学习率上,而是考虑将一阶动量引入学习率的更新,使学习过程更优。
1、 算法介绍
Adam 算法使用了一阶动量变量 vt\boldsymbol{v}_tvt 和 RMSProp 算法中的二阶动量变量 Gt\boldsymbol{G}_tGt ,并在时间步0将其初值置为0。
给定超参数 0≤β1<10 \leq \beta_1 < 10≤β1<1 (算法作者建议设为 0.90.90.9 ),时间步 ttt 的一阶动量变量 vt\boldsymbol{v}_tvt 为梯度 gt\boldsymbol{g}_tgt 与 vt−1v_{t-1}vt−1 加权移动平均:
vt←β ...
④ 线性回归模型:套索回归
其中是一个函数,我们将调用反向链接函数。有许多反向链接函数可供选择;可能最简单的是恒等函数。这是一个返回与其参数相同的值的函数。第3章“线性回归建模”中的所有模型都使用了单位函数,为简单起见,我们只是省略了它。身份功能本身可能不是很有用,但它允许我们以更统一的方式考虑几种不同的模型。
套索回归
#refplus, #refplus li{
padding:0;
margin:0;
list-style:none;
};
document.querySelectorAll(".refplus-num").forEach((ref) => {
let refid = ref.firstChild.href.replace(location.origin+location.pathname,'');
let refel = document.querySelector(refid);
let refnum = ...
数值优化算法【3】-- 动量法及其变种
数值优化算法【3】-- 动量法及其变种
一、问题的提出
上节提到的批量梯度下降(BGD)、随机梯度下降(SGD)和小批量梯度下降法(MBGD),基础完全一致,区别仅在于批大小(batch size)的不同。虽然由于批大小不同带来了很多不同的特性,但它们均避免不了一个问题,即模型参数的更新方向依赖于当前batch计算出的梯度,这可能会带来一些问题。
让我们考虑一个输入为二维向量 x=[x1,x2]⊤\boldsymbol{x} = [x_1, x_2]^\topx=[x1,x2]⊤ 、输出为标量的目标函数f(x)=0.1x12+2x22f(\boldsymbol{x})=0.1x_1^2+2x_2^2f(x)=0.1x12+2x22。 下图为基于该目标函数的梯度下降,学习率为 0.40.40.4 时的自变量迭代轨迹。可以看到,同一位置上,目标函数在竖直方向(x2x_2x2轴方向)比在水平方向(x1x_1x1轴方向)的斜率的绝对值更大。因此,给定学习率,梯度下降迭代自变量时会使自变量在竖直方向比在水平方向移动幅度更大。那么,我们需要一个较小的学习率从而避免自变量在竖 ...
数值优化算法【2】-- 梯度下降算法
数值优化算法【2】-- 梯度下降算法
本节介绍梯度下降(gradient descent)的工作原理。虽然梯度下降在深度学习中很少被直接使用,但理解梯度的意义,以及沿着梯度反方向更新模型参数以降低目标函数值的原理,是后面各种优化方法的基础。 梯度下降法又被称为最速下降法,是获得数值解的一种常用算法,主要分为批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)三种不同的形式。
一、理解梯度下降
(1)一维梯度下降
先以简单的一维梯度下降为例,解释梯度下降算法可能降低目标函数值的原因。
假设连续可导的函数 $ J: \mathbb{R} \rightarrow \mathbb{R} $ 的输入和输出都是标量。给定绝对值足够小的数 $ \epsilon $ ,根据泰勒展开公式,得到以下的近似:
J(x+ϵ)≈J(x)+ϵJ′(x).J(x + \epsilon) \approx J(x ...
④ 线性回归模型:岭回归
其中是一个函数,我们将调用反向链接函数。有许多反向链接函数可供选择;可能最简单的是恒等函数。这是一个返回与其参数相同的值的函数。第3章“线性回归建模”中的所有模型都使用了单位函数,为简单起见,我们只是省略了它。身份功能本身可能不是很有用,但它允许我们以更统一的方式考虑几种不同的模型。
岭回归
#refplus, #refplus li{
padding:0;
margin:0;
list-style:none;
};
document.querySelectorAll(".refplus-num").forEach((ref) => {
let refid = ref.firstChild.href.replace(location.origin+location.pathname,'');
let refel = document.querySelector(refid);
let refnum = ...
数值优化算法【1】-- 常用优化算法
数值优化算法【1】-- 常用优化算法
一、解析解与数值解的概念
很多机器学习和深度学习方法,都是在样本的支持下,利用导数或偏微分寻求方程的解,而传统数学方法中,会用到解析和数值两种解法。
(1)解析解法:
就是从小到大教科书里讲的,利用严格公式推导获得解的解析表达式,输入自变量的值就可以求出因变量。
如果一个方程或者方程组存在的某些解,是由有限次常见运算(如:分式、三角函数、指数、对数甚至无限级数等)的组合给出的形式,则称该方程存在解析解。
例如:对于线性回归模型,采用最小二乘法可以直接得出解析解,x=(ATA)−1ATb,其中A是样本支撑的矩阵,b为观测值x=(A^TA)^{-1}A^Tb,\quad 其中A是样本支撑的矩阵,b为观测值x=(ATA)−1ATb,其中A是样本支撑的矩阵,b为观测值
(2)数值解法:
当无法由微积分技巧求得解析解时(特别是复杂函数),利用数值分析方式来求得其数值解是比较好的选择。
采用某种计算方法(如:有限元方法、数值逼近、插值方法等)得到的解,被称为数值解。
数值解是在特定条件下通过近似计算得出来的一个数值。
例如:同样对于线性回归模 ...
④ 线性回归模型:最小二乘线性回归
其中是一个函数,我们将调用反向链接函数。有许多反向链接函数可供选择;可能最简单的是恒等函数。这是一个返回与其参数相同的值的函数。第3章“线性回归建模”中的所有模型都使用了单位函数,为简单起见,我们只是省略了它。身份功能本身可能不是很有用,但它允许我们以更统一的方式考虑几种不同的模型。
样条回归
#refplus, #refplus li{
padding:0;
margin:0;
list-style:none;
};
document.querySelectorAll(".refplus-num").forEach((ref) => {
let refid = ref.firstChild.href.replace(location.origin+location.pathname,'');
let refel = document.querySelector(refid);
let refnum = ...
③ 逻辑斯谛回归
其中是一个函数,我们将调用反向链接函数。有许多反向链接函数可供选择;可能最简单的是恒等函数。这是一个返回与其参数相同的值的函数。第3章“线性回归建模”中的所有模型都使用了单位函数,为简单起见,我们只是省略了它。身份功能本身可能不是很有用,但它允许我们以更统一的方式考虑几种不同的模型。
p{text-indent:2em;2}
线性回归模型
在上一章中,我们使用输入变量的线性组合来预测输出变量的平均值。我们假设后者为高斯分布。在许多情况下都可以使用高斯分布,但对于其他许多情况,选择不同的分布可能更明智;当我们用 ttt 分布替换高斯分布时,我们已经看到了一个这样的例子。在本章中,我们将看到更多使用高斯分布以外分布的明智例子。正如我们将了解到的,存在一个通用的主题或模式,可将线性模型推广到许多问题。在本章中,我们将探讨:
广义线性模型
Logistic回归和逆链接函数
简单Logistic回归
多元Logistic回归
Softmax函数和多项Logistic回归
Poisson回归
零膨胀Poisson回归
4.1 广义线性模型
本章的核心思想之一相当简单:为了预测输出变 ...
➁ 朴素贝叶斯分类器
朴素贝叶斯分类器
线性判别分析 LDA (Linear Discriminant Analysis) 又称为 Fisher 线性判别,是一种监督学习的降维技术,也就是说它的数据集的每个样本都是有类别输出的,这点与 PCA(无监督学习)不同。LDA 在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。
p{text-indent:2em;2}
1. LDA 的思想
LDA 的思想是:最大化类间均值,最小化类内方差。意思就是将数据投影在低维度上,并且投影后同种类别数据的投影点尽可能的接近,不同类别数据的投影点的中心点尽可能的远。
我们先看看最简单的情况。假设我们有两类数据 分别为红色和蓝色,如下图所示,这些数据特征是二维的,我们希望将这些数据投影到一维的一条直线,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。
上图提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的黑色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界 ...