机器学习相关知识点记录

机器学习工程师练习生

***一个机器学习算法工程师的基本素质~_love模式识别-CSDN博客 20160531
搞机器学习要哪些技能 - 知乎 20160531

*** GitHub - Avik-Jain/100-Days-Of-ML-Code: 100 Days of ML Coding
*** 100天搞定机器学习(100-Days-Of-ML)(一)数据预处理 | 数据学习者官方网站(Datalearner) 20190706

CV & DL 社区

超详细的计算机视觉竞赛汇总 - Tom Hardy的文章 - 知乎 20210131

zh-cn, en-us,

如何用好谷歌等搜索引擎? - 知乎

Google Search Computer Vision
Computer Vision homepage
Computer Vision online
Computer Vision source codes
Computer Vision test data
Computer Vision ……
百度文库 计算机视觉 清华大学课件 (注:会有很多推荐的链接)

您学习中高频使用的深度学习框架是?

  • 飞桨 PaddlePaddle ONAP TensorFlow MXNet CNTK Deeplearning4j Theano
    Caffe MindSpore Caffe2/PyTorch/Torch Puppet MegEngine 天元 其他

近半年,您使用过哪些AI学习与实训平台来学习深度学习技术?

  • Momodel 百度 AI Studio 字节跳动AI Factory 阿里天池实验室 Kaggle 腾讯智能钛 TI 微软Deeplab
    Google Colab 和鲸 KesciLab 其他 不使用任何AI在线学习与实训平台

您经常使用哪些社区/媒体/网站等了解深度学习相关知识?

  • 博客园 Github 机器之心 开源中国 新智元 量子位 网易云课堂 慕课 InfoQ Udacity CSDN 知乎 简书
    Coursera 中国大学MOOC 哔哩哔哩 其他

青少年人工智能教育

CV & DL 领域相关术语

*** 刚进算法团队,大牛们讨论高深的cv术语和算法,如何才能听懂? - Yulong的回答 - 知乎 20210722
CV领域Paper论文常见单词(一) - 知乎

机器学习符号规范

通用机器学习符号集 - 北京智源人工智能研究院
GitHub - mazhengcn/suggested-notation-for-machine-learning: This introduces a suggestion of mathematical notation protocol for machine learning.

2020北京智源大会_智源进展报告202006210927.jpg

机器学习思维导图

机器学习思维导图1

转自:机器学习思维导图_wlkdb的博客 20180620

机器学习思维导图2

GitHub - dformoso/machine-learning-mindmap: A mindmap summarising Machine Learning concepts, from Data Analysis to Deep Learning.

机器学习思维导图3

转自:机器学习6种简单实用算法及学习曲线、思维导图 20200108

转自:一张机器学习算法的思维导图_麦田里的守望者 20190908

其它算法(待归类)

概率密度估计

RANSAC算法

RANSAC (RANdom SAmple Consensus) algorithm.
  RANSAC is an iterative algorithm for the robust estimation of parameters from a subset of inliers from the complete data set.
sklearn.linear_model.RANSACRegressor — scikit-learn 0.24.2 documentation

高斯混合模型(Gaussian Mixture Models)

20220407记:

Rectangle Packing Algorithm

20220424谷歌搜索"Put four rectangles inside the rectangle"
另注: 谷歌搜索"more-rectangle-bin-packing python"的结果暂未浏览;

卡尔曼滤波

极限学习机

自动编码器

  • Autoencoders in Deep Learning: Tutorial & Use Cases [2022]
      自动编码器是一种人工神经网络,用于以无监督的方式学习数据编码。自动编码器的目的是学习高维数据的低维表示(编码),通常是为了降维。编码器-解码器结构帮助我们从输入中提取出有效信息并在网络内部的信息之间建立有用的关联。

  自动编码器由3部分组成:

  1. Encoder: 编码输入,实现数据降维;
  2. Bottleneck: 限制从编码器到解码器的信息流,只允许最重要的信息通过; Bottleneck 设计得越小,过拟合的风险越低;但过小的 Bottleneck 会限制 Bottleneck 可存储信息的数量,而得以幸存的信息也更重要。
  3. Decoder: 重构后的输入,;

  自动编码器的思想最早可追溯到1980s,而今5种流行的自动编码器有:

  • Undercomplete autoencoders.
  • Sparse autoencoders
  • Contractive autoencoders
  • Denoising autoencoders
  • Variational Autoencoders (for generative modelling)

Undercomplete autoencoders.
  无监督, 试图预测与输入相同的输出; 这种自动编码器的主要用途是生成潜在空间表示作为输入的压缩替代品,并且在需要时可以很容易地通过网络解压缩回来。用于训练欠完全自编码器的损失函数被称为重构损失,因为它检查从输入重建的输出好坏。
  PCA(主成分分析)形成一个低维的超平面,在不丢失信息的情况下以高维的形式表示数据。但 PCA 只能建立线性关系,因此在降维方面的表现比不上学习非线性关系的欠完全自动编码器方法。这种自编码器学习非线性流形的非线性降维形式也被称为流形学习。

Sparse autoencoders
  稀疏式自动编码器与欠完全自动编码器相似,它们都试图预测与输入相同的输出。不同之处在于信息编码的规范方式,欠完全自编码器约束 Bottleneck 的大小,而稀疏自编码器约束每个隐层的节点数。

机器学习知识点

数据增强

赛尔笔记 | 深度学习领域的数据增强_哈工大SCIR 20191129

距离计算方法总结

相似性度量(Similarity Measurement)与“距离”(Distance) - 夕月一弯 - 博客园 20160816
距离计算方法总结 - soyosuyang - 博客园 20170523
本篇博客涵盖以下内容:

  1. 欧氏距离
  2. 曼哈顿距离
  3. 切比雪夫距离
  4. 闵可夫斯基距离
  5. 标准化欧氏距离
  6. 马氏距离
  7. 夹角余弦
  8. 汉明距离
  9. 杰卡德距离 & 杰卡德相似系数
  10. 相关系数 & 相关距离
  11. 信息熵

归一化方法

  由于采集的各数据单位不一致,因而需对数据进行归一化处理,归一化方法主要有如下几种,供大家参考:

  1、线性函数转换,表达式如下:
  y=(x-MinValue)/(MaxValue-MinValue)
  说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。
  2、对数函数转换,表达式如下:
  y=log10(x)
  说明:以10为底的对数函数转换。
  3、反余切函数转换,表达式如下:
  y=atan(x)*2/PI
  归一化是为了加快训练网络的收敛性,可以不进行归一化处理

  归一化的具体作用是归纳统一样本的统计分布性。归一化在[0, 1]之间是统计的概率分布,归一化在[-1, 1]之间是统计的坐标分布。归一化有同一、统一和合一的意思。无论是为了建模还是为了计算,首先基本度量单位要统一。但是归一化处理并不总是合适的,根据输出值的分布情况,标准化等其它统计变换方法有时可能更好。
(注:部分表述不一定可信可靠,注意鉴别) 数据归一化汇总 – MATLAB中文论坛 20100418

其它杂货

深度学习知识点

关于CNN是否具有平移、旋转、尺度不变性

绘制神经网络图的工具

网络调参, 梯度可视化

keywords: debugging neural networks, visualize the gradients,

  Suppose you are building a not so traditional neural network architecture. The easiest way to debug such a network is to visualize the gradients. If you are building your network using PyTorch W&B automatically plots gradients for each layer. Check out my notebook here.,Check out my notebook here to see how you can initialize weights in PyTorch.,Use this LRFinder to automatically find the optimal learning rate for your model.,If you are using Keras to build your model you can make use of the learning rate finder as demonstrated in this blog by PyImageSearch. You can also refer this blog for an implementation in TensorFlow 2.0.

  In this notebook, you’ll find an implementation of this approach in PyTorch. I have implemented a class LRfinder. The method range_test holds the logic described above. Using wandb.log(), I was able to log the learning rate and corresponding loss.
  *** How to check the output gradient by each layer in pytorch in my code? - Pretag

Debug Neural Networks with W&B, MNIST_pytorch例子
  • debugNNwithWandB/MNIST_pytorch_wandb_Overfit_Small.ipynb at master · ayulockin/debugNNwithWandB · GitHub

    import wandb
    
    def train():
        wandb.log({'Train Loss': loss.item(), 'Train Accuracy': acc})
    
    wandb.init(project='overfitsmall')
    wandb.watch(net, log='all')
    
  • debugNNwithWandB/MNIST_pytorch_wandb_LRFinder.ipynb at master · ayulockin/debugNNwithWandB · GitHub

    class LRFinder(object):
        def range_test():
             wandb.log({'lr': lr_schedule.get_lr()[0], 'loss': loss})
    
    def train():
        wandb.log({'Train Loss': loss.item(), 'Train Accuracy': acc})
    
    def test():
        wandb.log({'Test Loss': test_loss/test_total, 'Test Accuracy': acc})
    
    wandb.init(project='lrfinder')
    wandb.watch(net, log='all')
    
  • 结果观测

    • Vanishing_Grad_1,
      训练了 20 epochs ;
      当训练不怎么收敛时, 可以观测到 train loss 的波动幅度较小; 有些 layers 的 gradients 值始终为 0 ; 有些 layers 的 parameters 的值分布几乎不怎么变化;

    • VG_Converge,
      训练了 60 epochs ;
      当训练不怎么收敛时, 可以观测到 train loss 的波动幅度较小; 有些 layers 的 gradients 值始终为 0 ; 有些 layers 的 parameters 的值分布几乎不怎么变化;
      当训练开始收敛时, 可以观测到 train loss 开始较明显地减小; 某些 layers 的 parameters 的值分布开始发生较明显的变化;

    • VG_solved_Relu
      xxx

网络感受野

Tensorboard

Running TensorBoard remotely

  If you are building your model on a remote server, SSH tunneling or port forwarding is a go to tool, you can forward the port of the remote server to your local machine at a port specified i.e 6006 using SSH tunneling.
  Run this command on a terminal on the local machine to forward port from the server via ssh and start using Tensorboard normally.

ssh -L 6006:localhost:6006 user_name@server_ip  # localhost可以通过`ifconfig`命令获取 lo inet addr 的值
ssh -L 6006:127.0.0.1:6006 user_name@server_ip

  If you have a port forwarded to a different port, other than 6006, let’s say 6007, you can run your Tensorboard by specifying the correct port.
  Run this command on a terminal on the remote machine, and then navigate to http://localhost:6006.

tensorboard --logdir <path> --port=6006

The complete guide to ML model visualization with Tensorboard | cnvrg.io

tensorflow - How can I run Tensorboard on a remote server? - OStack Q&A-Knowledge Sharing Community
远程访问服务器tensorboard - cv_gordon - 博客园 20181024
解决tensorboard attempted to bind to port 6006,but it was already in use问题的几种方法_c20081052的专栏-CSDN博客 20180823
Linux 查看端口占用情况 | 菜鸟教程

待补充

  



文字居中

数学公式粗体 \textbf{} 或者 m e m o r y {\bf memory} memory
数学公式粗斜体 \bm{}

摘录自“bookname_author”
此文系转载,原文链接:名称 20200505

高亮颜色说明:突出重点
个人觉得,:待核准个人观点是否有误

分割线

分割线


我是颜色为00ffff的字体
我是字号为2的字体
我是颜色为00ffff, 字号为2的字体
我是字体类型为微软雅黑, 颜色为00ffff, 字号为2的字体

分割线

分割线
问题描述:
原因分析:
解决方案:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值