1.泛读书 《机器学习之路》 github地址:https://github.com/bbfamily/abu
运用到的工具:numpy 快速操作结构数组 pandas 数据分析处理工具 matplotlib 画图 sklearn
算法
非参数化算法 KNN
调节K值分类
kd-tree 数据结构 是一种平衡二叉树 算法介绍:https://leileiluoluo.com/posts/kdtree-algorithm-and-implementation.html
https://www.cnblogs.com/lanying/p/4035105.html
1有监督机器学习
2无监督机器学习
3强化学习:机器在环境中学习到策略,按策略选择一个动作,让对应的回报最大。
数据预处理
均值化和归一化:使满足均值为0,方差相似;移到0点称为归一化,将数据缩至指定范围为归一化
1.z-score标准化:,将数据集缩进(0,1)范围叫做概率归一化。基本可用于有outlier。适用于数据存在异常值和较多噪音
2.离差归一化 ,对outlier非常敏感
交叉熵函数
训练梯度计算原理 k为斜率,即求导的梯度
1.特征工程
机器学习中评估特征的方法 增加特征维度
解决过拟合的一种方法->在惩罚函数中增加正则化参数来控制分类边界。L2正则化 L1正则化
2.交叉验证
N-fold cross validation
GridSearchCV 一种最优参数搜索方法,暴力搜索所有参数组合
3.分类评估指标
准确率 精确率 召回率 F1分数
ROC曲线 纵坐标为召回率,横坐标为错误判断为正样本占全部的比率
AUC指标 估计模型正样本预测的可信程度
4.回归模型
scikit-learn中 KNC -> k近邻分类 KNR k近邻回归
回归中评价指标
1.均方差
2.均方差根
3.r方
ymean为真实均值
决策树(非线性模型):不断选择使信息量下降最快的特征作为节点建立树模型。
基于gini(基尼杂质) 或entropy(信息减少量)
信息熵函数:表示数据集中信息量的大小。
P(xi):时间出现的概率
模型融合 孔多塞陪审团定理 三种融合方式:(为了保证个体差异,且用好方法融合个体差异)
- bagging 融合相同模型
使用训练集的随机子集,而不运用所有训练集。
- boosting 融合相同模型 生成模型样本序列
随机采样集合
模型融合
1.Ada-Boosting
对各样本的关注程度不同,更关注之前的错误样本
2.Gradient-Boosting
序列的后续样本直接预测之前模型的预测值与真实值的差值。用于决策树:GBDT 梯度增强决策树。
- stacking 融合不同模型
可通过 加权 (!!)构建一个新模型融合多个模型个体,新模型一般为线性的
深度学习
深度学习库:
caffe:支持shell脚本和配置文件 适合cnn caffe2!!
github:https://github.com/BVLC/caffe
中文文档:百度云盘链接:http://pan.baidu.com/s/1qY8njly%20密码:0tqj
caffe2
caffe2 教程入门(python版)
英文文档:http://caffe.berkelevison.org
tensorflow
github:https://github.com/tensorflow/tensorflow
中文文档:http://www.tensorfly.cn/tfdoc/how_tos/overview.html
keras:学术界的宠儿
github:https://github.com/keras-team/keras
中文文档:https://keras-cn.readthedocs.io/en/latest/
TFLearn 模块设计较好 支持强化学习
github:https://github.com/tflearn/tflearn
英文文档:http://tflearn.org/getting_started/
另外的框架:MXnet,Theano,Torch
one-hot 编码
随机梯度下降 SGD 不再使用全部数据集计算梯度,抽取一批数据进行计算,对样本的抽取是随机的
SGD基础上,可以在 动量 momentum(历史的惯性)学习速率 批量数据 三方面改善
RMSprop Adagrad基于这三个方面
过拟合:Dropout 去掉一部分的激活值,置为0,剩余的等比放大
L2正则化参数 L1正则化 在浅层模型中使用 在cost函数中添加正则化项 L2 权重的平方总和 L1绝对值
池化:尽可能无损的压缩平面 CNN 卷积 激活 池化
kaggle
ImageNet 中的优秀CNN
1.2012年ALEXNET ILSVRC 模型
2.2014googlenet模型 inception结构
3.2014年VGG模型 卷积+深层 deep deep
微训练模型
时间序列模型: Embedding 生成时间薛烈的特征向量 将数据编码的序列转换成更合理的特征向量或特征向量序列
word2vec