数据预处理
缺失值处理
- 直接舍弃整条记录
- 手动填充修正
- 使用均值等不影响整体分布的数值填充
- 利用余下完整的数据预测缺失值
- 使用 NaN 表示,之后可以对于这一值做特殊处理
异常值处理
- 手动设置上下限
- 利用均值和标准差设置合理范围(置信区间)
归一化
- 格式归一化,统一格式
- 数值归一化,避免不同属性之间因为单位差值到导致波动程度不一样。例如 min-max , softmax
- 对于过于零碎的数据(例如年龄),使用不同区间来统一处理
- 对于 categories 类型, 可使用 one-hot 编码 <Why One-Hot Encode Data in Machine Learning?>
- 对于文本, 可考虑使用 word embedding <How to use Pre-trained Word Embeddings in PyTorch>
Data Reduction
当数据量过大,只能对部分数据进行处理时:
- 对整个数据集随机采样
- 先把数据集根据一定规律划分为若干部分,对每个部分分别采样
当涉及的属性过多,需要进行降维时:
- PCA PCA的数学原理
- Forward selection
- Backward selection
线性回归
任何非线性关系都可以通过一定的变换变成一个线性关系.
对于单变量模型:
若希望模型过原点, , 其中
若存在截距,
对于多变量模型,
梯度下降求解其实时以上方法的简化版本,本质上都是希望找到系数 的一组值,使得模型预测结果与实际结果的差异(loss function
)最小, 即
- 随机生成
的初始值
- 更新
的值 :
- 重复步骤2直到 loss function
Linear Regression using Gradient Descent
正则化
一方面,需要控制模型的复杂度,另一方面,需要控制系数的值使其尽可能小保证结果不会波动过大。
机器学习中常常提到的正则化到底是什么意思?
常用方法:
赤池信息量准则
Lasso算法
分类问题
常见的分类器
- 逻辑回归
[机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
logistic回归分析与等位基因OR值的探讨 - 决策树& 随机森林
Decision Trees — A simple way to visualize a decision - Medium
Introduction to Random Forests
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
Information Gain Versus Gain Ratio: A Study of Split Method
Biases - 贝叶斯分类器
Naive Bayes Classifier - K Nearest Neighbor算法
常见的模型性能评估方法
聚类
属于无监督学习,即在没有标注的情况下将相似的点聚合在一起。
一篇文章透彻解读聚类分析(附数据和R代码)
发表在 Science 上的一种新聚类算法
Neural Networks
神经网络为什么可以(理论上)拟合任何函数?
一文弄懂神经网络中的反向传播法——BackPropagation
可视化
- t-SNE
How to Use t-SNE Effectively - Saliency map
CNN 可视化解释:Saliency Maps
How convolutional neural networks see the world
MNIST with keras (visualization and saliency map)
网友评论