CNN系列之目标检测

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 深度学习 浏览 :

R-CNN

R-CNN,这是给予卷积神经网络的物体检测的奠基之作。其核心思想是在对每张图片选取多个区域,然后每个区域作为一个样本进入一个卷积神经网络来提取特征,最后使用分类器来对齐分类,和一个回归器来得到准确的边框。
选择特征搜索边框
R-CNN1.jpg
每张图选取 2000 个区域,分别做卷积,使用 SVM 单分类器做判别,对其位置做回归。

CNN系列之图像分类

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 深度学习 浏览 :

LeNet

LeNet 是一种典型的卷积神经网络的结构,由 Yann LeCun 发明。它的网路结构如下图:
LeNet-5-structure.png

Jetson nano与Raspberry pi 4 安装OpenVINO toolkit

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 杂记 浏览 :

背景

之前在 raspberry pi 3b 上,使用 Movidius NCS2 实现了一个小 demo,最近买来了英伟达的 jetson nano,想把之前的项目移植到这上面。于是我想当然的下载树莓派的 openvino_toolkit,安装时提示只支持 32 位架构。庆幸的是 OpenVINO 是开源的,github 上有一个叫做 dldt 的项目,就是它。于是开始有了下文。

magenta GPU 版安装

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 杂记 浏览 :

关于

Magenta is a research project exploring the role of machine learning in the process of creating art and music. Primarily this involves developing new deep learning and reinforcement learning algorithms for generating songs, images, drawings, and other materials. But it’s also an exploration in building smart tools and interfaces that allow artists and musicians to extend (not replace!) their processes using these models. Magenta was started by some researchers and engineers from the Google Brain team, but many others have contributed significantly to the project. We useTensorFlow and release our models and tools in open source on this GitHub. If you’d like to learn more about Magenta, check out our blog, where we post technical details. You can also join our discussion group.

This is the home for our Python TensorFlow library. To use our models in the browser with TensorFlow.js, head to the Magenta.js repository.

Kaggle杂记

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

数值特征

scaling

  • 基于树的模型不依赖 scaling,非基于树的模型恰恰相反

  • 当两个属性数量级的差距很大时,原来微小的距离,将变的很大,这对 KNN、linear models 有很大影响。

  • 梯度下降法在没有适当放缩的情况下会变的很糟糕,由于这个原因,神经网络在特征预处理上与线性模型相似。

  • 标准化不影响分布

  • 在 MinMaxScaling 或 StandardScaling 转换之后,特性对非树模型的影响大致相同。

  • outliers 离群点

  • 离群点既可以出现在特征值 X 里,也可以在目标值 y 中,这会对模型产生影响

  • 我们可以将特征值控制在两个设定的下界和上界之间,例如第一百分位数和 99 百分位数之间。

SKlearn模型评估方法

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 机器学习 浏览 :

1.accuracy_score

1
2
3
4
5
6
7
8
9
10
11
# 准确率
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3,9,9,8,5,8]
y_true = [0, 1, 2, 3,2,6,3,5,9]

accuracy_score(y_true, y_pred)
Out[127]: 0.33333333333333331

accuracy_score(y_true, y_pred, normalize=False) # 类似海明距离,每个类别求准确后,再求微平均
Out[128]: 3

数据挖掘之机器学习

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 机器学习 浏览 :

机器学习常用方法,包含调参,单模型,集成学习等。

数据预处理常用操作II

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

记录实战过程中在数据预处理环节用到的方法

更多笔记:https://github.com/wmpscc/DataMiningNotesAndPractice

生成随机数序列

1
randIndex = random.sample(range(trainSize, len(trainData_copy)), 5*trainSize)

计算某个值出现的次数

1
2
3
titleSet = set(titleData)
for i in titleSet:
count = titleData.count(i)

数据预处理常用操作I

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

处理日期

1
2
3
4
5
6
7
8
birth = trainData['birth_date']
birthDate = pd.to_datetime(birth)
end = pd.datetime(2018, 1, 1)
# 计算天数
birthDay = end - birthDate
birthDay.astype('timedelta64[D]')
# timedelta64 转到 int64
trainData['birth_date'] = birthDay.dt.days

SKlearn学习笔记

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

train_test_split() 将数组或矩阵分解为随机序列的训练和测试子集

1
2
3
from sklearn.model_selection import train_test_split

train_set, test_set = train_test_split(housing, test_size=0.2, random_state=42)
  • random_state 参数相当于设置随机数种子
  • stratify 如果不是“null”,则将数据以分层方式拆分,将其用作类标签。

StratifiedShuffleSplit() 将数据分为多对 train/test 集并随机打乱

1
2
from  sklearn.model_selection import StratifiedShuffleSplit
StratifiedShuffleSplit(n_splits=10,test_size=None,train_size=None, random_state=None)
  • n_splits 是将训练数据分成 train/test 对的组数,可根据需要进行设置,默认为 10
  • 参数 test_size 和 train_size 是用来设置 train/test 对中 train 和 test 所占的比例
  • 参数 random_state 相当于随机数种子