NoRM

机器学习作业---偏差和方差(线性回归)

丶灬走出姿态 提交于 2020-10-02 22:16:56
机器学习作业---偏差和方差(线性回归)错误反例,但是理清了代码思路,很重要 一:加载数据,显示数据 (一)数据可视化 import numpy as np import matplotlib.pyplot as plt import scipy.io as sio import scipy.optimize as opt data = sio.loadmat( " ex5data1.mat " ) X = data[ ' X ' ] y = data[ ' y ' ].flatten() Xval = data[ ' Xval ' ] yval = data[ ' yval ' ].flatten() Xtest = data[ ' Xtest ' ] ytest = data[ ' ytest ' ].flatten() m = y.size plt.figure() plt.scatter(X,y,c = ' b ' ,marker= ' o ' ) plt.xlabel( " Change in water level (x) " ) plt.ylabel( " Water folowing out of the dam (y) " ) plt.show() (二)数据显示 直接从文件中读取的数据X: [[- 15.93675813 ] [ - 29.15297922 ]

CVPR2020|解决目标检测长尾问题简单方法:BalancedGroupSoftmax

我与影子孤独终老i 提交于 2020-10-02 17:10:05
     本文解读的是 CVPR 2020 Oral 论文《Overcoming Classifier Imbalance for Long-tail Object Detection with Bbalanc ed Group Softmax》,论文作者来自中科院、新加坡国立大学。该论文解读首发于“AI算法修炼营”。    作 者 | SFXiang    编辑 | 丛 末      论文地址:http://openaccess.thecvf.com/content_CVPR_2020/papers/Li_Overcoming_Classifier_Imbalance_for_Long-Tail_Object_Detection_With_Balanced_Group_CVPR_2020_paper.pdf   代码地址:https://github.com/FishYuLi/BalancedGroupSoftmax   视频讲解地址:https://www.youtube.com/watch?v=ikdVuadfUo8   论文的主要思想是提出了长尾分布目标检测器性能下降主要原因是与类别数量正相关,于是通过分组平均分配类别数的思想,提出了Balanced Group Softmax,这是一个简单的思想,效果很不错,大家可以多尝试。    1    前言  

PyTorch:Embedding

天大地大妈咪最大 提交于 2020-09-30 00:52:46
-柚子皮- torch.nn.Embedding(num_embeddings: int, embedding_dim: int, padding_idx: Optional[int] = None, max_norm: Optional[float] = None, norm_type: float = 2.0, scale_grad_by_freq: bool = False, sparse: bool = False, _weight: Optional[torch.Tensor] = None) 参数 num_embeddings (int) – size of the dictionary of embeddings 词典的大小尺寸,比如总共出现5000个词,那就输入5000。此时index为(0-4999)。注意这里num_embeddings必须要比词对应的最大index要大,而不是比词个数大就可以。 embedding_dim (int) – the size of each embedding vector 嵌入向量的维度,即用多少维来表示一个符号。embedding_dim的选择要注意,根据自己的符号数量,举个例子,如果你的词典尺寸是1024,那么极限压缩(用二进制表示)也需要10维,再考虑词性之间的相关性,怎么也要在15-20维左右

使用LSTM-RNN建立股票预测模型

社会主义新天地 提交于 2020-09-26 04:56:28
  硕士毕业之前曾经对基于LSTM循环神经网络的股价预测方法进行过小小的研究,趁着最近工作不忙,把其中的一部分内容写下来做以记录。   此次股票价格预测模型仅根据股票的历史数据来建立,不考虑消息面对个股的影响。曾有日本学者使用深度学习的方法来对当天的新闻内容进行分析,以判断其对股价正面性/负面性影响,并将其与股票的历史数据相结合,各自赋予一定的权重来对近日的股价进行预测 [1] 。该预测方法取得了一定的效果。   而这里我没有引入消息面的影响,主要出于以下几点考虑:   1.消息的及时性难以保证:很多时候,在一只股票的利好/利空消息出来之前,其股价已经有了较大幅度的增长/下跌。信息的不对称性导致普通群众缺乏第一手消息源。   2.消息的准确性难以保证:互联网上信息传播速度极快,媒体之间经常会出现相互抄袭新闻的情况,而这种抄来的新闻(非原创新闻)往往没有经过严格的审核,存在着内容虚假,夸大宣传的可能性。一旦分析模型错用了某条谣言或真实性不高的新闻,很有可能得出错误的预测结果。   3.语言的歧义性:一条新闻,其正面性/负面性往往存在着多种解读。例如“习主席宣布中国将裁军30万”——新华每日电讯2015.09.04。这条新闻一般意义上可以解读为:中央政府深入推进改革,精兵简政,大力发展国防军工事业。这是一种正面性的解读。而在使用机器学习模型时,如传统的奇异值分解算法(SVD)

ISODATA聚类算法的matlab程序

依然范特西╮ 提交于 2020-08-20 05:14:09
ISODATA聚类算法的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考: Kmeans及ISODATA算法的matlab实现 算法简介: 聚类算法:ISODATA算法 数据见: MATLAB实例:PCA降维 中的iris数据集,保存为:iris.data,最后一列是类标签。 demo_isodata.m clear clc data_load=dlmread('iris.data'); [~,dim]=size(data_load); x=data_load(:,1:dim-1); K=3; theta_N=1; theta_S=1; theta_c=4; L=1; I=5; ISODATA(x,K,theta_N,theta_S,theta_c,L,I) ISODATA.m function ISODATA(x,K,theta_N,theta_S,theta_c,L,I) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%input parameters%%%%%% % x : data % K : 预期的聚类中心数 % theta_N : 每一聚类中心中最少的样本数,少于此数就不作为一个独立的聚类 % theta_S

ISODATA聚类算法的matlab程序

折月煮酒 提交于 2020-08-19 03:23:29
ISODATA聚类算法的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考: Kmeans及ISODATA算法的matlab实现 算法简介: 聚类算法:ISODATA算法 数据见: MATLAB实例:PCA降维 中的iris数据集,保存为:iris.data,最后一列是类标签。 demo_isodata.m clear clc data_load=dlmread('iris.data'); [~,dim]=size(data_load); x=data_load(:,1:dim-1); K=3; theta_N=1; theta_S=1; theta_c=4; L=1; I=5; ISODATA(x,K,theta_N,theta_S,theta_c,L,I) ISODATA.m function ISODATA(x,K,theta_N,theta_S,theta_c,L,I) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%input parameters%%%%%% % x : data % K : 预期的聚类中心数 % theta_N : 每一聚类中心中最少的样本数,少于此数就不作为一个独立的聚类 % theta_S

图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix)

泄露秘密 提交于 2020-08-18 04:53:02
图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 图Lasso方法的基本理论 2. 坐标下降算法 3. 图Lasso算法 4. MATLAB程序 数据见参考文献 [2] 4.1 方法一 demo.m load SP500 data = normlization(data); S = cov(data); %样本协方差 [X, W] = glasso_1(double(S), 0.5); %X:sigma^(-1), W:sigma [~, idx] = sort(info(:,3)); colormap gray imagesc(X(idx, idx) == 0) axis off %% Data Normalization function data = normlization(data) data = bsxfun(@minus, data, mean(data)); data = bsxfun(@rdivide, data, std(data)); end glasso_1.m function [X, W] = glasso_1(S, lambda) %% Graphical Lasso -

十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-17 18:38:23
图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。 在这些庞大的分类方法中,基于直方图的全局二值算法占有了绝对的市场份额,这些算法都从不同的科学层次提出了各自的实施方案,并且这类方法都有着一些共同的特点:   1、简单; 2、算法容易实现; 3、执行速度快。 本文摘取了若干种这类方法进行了介绍。 一:灰度平局值值法:   1、描述:即使用整幅图像的灰度平均值作为二值化的阈值,一般该方法可作为其他方法的初始猜想值。   2、原理:      3、实现代码: public static int GetMeanThreshold( int [] HistGram) { int Sum = 0 , Amount = 0 ; for ( int Y = 0 ; Y < 256 ; Y++ ) { Amount += HistGram[Y]; Sum += Y * HistGram[Y]; } return Sum / Amount; } 二、百分比阈值( P-Tile 法) 1、描述 Doyle 于1962年提出的P-Tile

SparseNN中的优化

≡放荡痞女 提交于 2020-08-17 00:53:21
作者|The AI LAB 编译|VK 来源|Medium 对SparseNN模型的过拟合进行研究,并探索了多种正则化方法,如嵌入向量的max-norm/constant-norm、稀疏特征id的dropout、参数的freezing、嵌入收缩等。然而,据我们所知,在单次训练中,没有显著的减少过拟合的效果。 正则化全连接层和稀疏参数 随机梯度下降优化器使用小批量样本来更新全连接层和稀疏参数。给定一个小批量的例子,通常所有的全连接层参数都会被更新(假设没有gate或dropout),而只有一小部分稀疏参数会在正向传播中被激活,从而在反向传播中被更新。例如,假设一个稀疏特征对用户在过去一周内单击的广告id进行编码,虽然我们可能有数百万个惟一的广告id,但是在一个小型批处理中(通常是100个样本)出现的广告id的数量与基数相比非常有限。 正则化稀疏参数与全连接层参数的不同之处在于,我们需要在运行时识别小型批处理中已激活的稀疏参数,然后仅对这些参数进行正则化。 在正则化全连接层参数时需要注意的一点是,全连接层中的偏差通常不需要正则化。因此,需要识别这些偏差,并将它们自动排除在正则化之外。 L2正则化 J(W)是经验损失,||W_dense||²是全连接层稀疏参数(也称为L2正则化器)的L2范数的平方;||W_sparse||²也是如此。 参数W_i的损失L的梯度被分解为经验损失J和所谓的

用PyTorch对Leela Zero进行神经网络训练

≡放荡痞女 提交于 2020-08-16 15:12:37
作者|Peter Yu 编译|Flin 来源|towardsdatascience 最近,我一直在寻找方法来加快我的研究和管理我的实验,特别是围绕着写训练管道和管理实验配置文件这两个方面,我发现这两个新项目叫做PyTorch Lightning和Hydra。PyTorch Lightning可以帮助你快速编写训练管道,而Hydra可以帮助你有效地管理配置文件。 PyTorch Lightning: https://github.com/PyTorchLightning/pytorch-lightning Hydra: https://hydra.cc/ 为了练习使用它们,我决定为Leela Zero( https://github.com/leela-zero/leela-zero ) 编写一个训练管道。我这样做,是因为这是一个范围很广的项目,涉及到使用多个gpu在大数据集上训练大型网络,可以说是一个十分有趣的技术挑战。此外,我以前曾经实现过一个更小版本的AlphaGo国际象棋( https://medium.com/@peterkeunwoo/beating-my-brother-in-chess-cb17739ffe2) ,所以我认为这将是一个有趣的业余项目。 在这个博客中,我将解释这个项目的主要细节,以便你能够轻松理解我所做的工作。你可以在这里阅读我的代码: https:/