巧妇难为无米之炊
数据和特征是米,模型和算法是巧妇。

结构化数据:数值型,类别型
非结构化数据:文本图像音频
一、特征归一化
归一化:线性函数归一化
零均值归一化
z=(x-u)/标准差

归一化会使得梯度下降更快找到最优解
但通过梯度下降法求解的模型才需要归一化。
对于决策树模型并不适用,归一化不会改变样本在特征X上的信息增益。

二、类别型特征(性别血型)
除了决策树少数模型能直接处理字符串形式的输入

序号编码(处理类别间具有大小关系的数据)

独热编码(处理类别间无大小关系,注意使用稀疏向量形式输入,配合特征选择降低维度,例LR模型中,参数数量会随着维度增高而增加,易引起过拟合问题),
二进制编码:先赋予类别ID,转换成二进制码,本质上利用二进制对ID进行哈希映射,且特征 向量维数少于独热编码

三、高维组合特征的处理
为提高复杂关系的拟合能力
参数规模太大:将用户和物品分别用K维的低维向量表示,这等同于矩阵分解

四、组合特征
给定原始输入如何构建决策树?
利用梯度提升决策树,每次在之前构建的决策树的残差上构建下一颗决策树


一、评估指标的局限性
分类(ROC曲线,AUC面积,PR曲线)、回归预测趋势(RMSE或绝对百分比误差)、排序(精确率、召回率,PR曲线)问题需要不同的评估指标

ROC曲线横坐标为假阳性率,纵坐标为真阳性率
ROC特点:当正负样本分布变化时,曲线形状基本不变
如果研究者更希望看到模型在特定数据集上的表现,PR更直观反映性能

三、余弦相似度和欧氏距离
欧式距离受维度的影响,范围不固定.体现数值上的绝对差异
余弦相似度在高维情况下依然保持“相同为1,正交为0,相反为-1”。体现方向上的相对差异

如用户活跃度应用欧式距离,喜好应用相似度

四、AB测试的陷阱
验证新模块、新功能、新产品是否有效,新算法、新模型的效果是否提升,新设计是否受用户欢迎

为何需要在线AB测试:

  1. 离线评估无法消除过拟合的影响,无法完全代替线上评估结果
  2. 无法完全还原线上的工程环境。延迟,数据丢失,标签数据丢失
  3. 线上系统的商业指标在离线评估jiui中无法计算,线上评估全面了解用户点击率,留存时长,PV访问量的变化

进行AB测试的主要手段是用户分桶,即将用户分为实验组和对照组。对实验组的用户施以新模型,对对照组的用户施以旧模型

确报每个用户每次只能分到同一个桶中。注意样本独立性,采样方式无偏性

五、模型评估的方法
k-fold交叉验证,样本划分为K个大小相等的样本子集。依次遍历k个子集,每次把当前子集作为验证集,其余所有作为训练集,进行模型的训练与评估。最后把平均值作为评估指标。K经常取10.

自助法:对总数N的样本集合,进行N次有放回的随机采样,得到大小N的训练集。有的没被抽过,有的重复抽过。将没有抽过的作验证集。

N趋向正无穷时,未抽中概率为1/e,即36.8%。

六、超参数调优

  1. 网格搜索:一般使用较大的搜索范围和较大的步长确定可能的最优位置。然后逐渐缩小范围和步长。
  2. 随机搜索:理念是随机找样本点,样本集足够大,找到最优概率大
  3. 贝叶斯优化:在测试新点时,利用之前的信息,一直更新目标函数的先验分布。最后算法由后验分布给出的全局最值。
    缺点:一旦找到局部最优值,会在该区域不断采样。容易陷入局部最优

七、降低过拟合和欠拟合的方法

  1. 获取更多训练数据:生成式对抗网络

  2. 降低模型复杂度,避免拟合过多的采样噪声

  3. 正则化方法:给模型的参数加上一定的正则约束,如将权值的大小加入损失函数中

  4. 集成学习方法。如Bagging方法

  5. 添加新特征

  6. 增加模型复杂度

  7. 减小正则化系数


经典算法
SVM:把球拍到空中的念力叫“核映射”,空间的纸片叫分类超平面。

LR回归解决分类问题,线性回归是预测问题

决策树 启发式函数
预剪枝 在结点扩展时,计算当前划分能否带来模型泛化能力的提升。
后剪枝
基尼系数低,代表特征越优秀


降维
特征的高纬度带来高资源消耗,即用低维度向量表示高纬度特征
主成分分析PCA:线性、非监督、全局(PCA效果不好的可以用非线性降维方法)
不考虑数据的类别,映射到方差较大的方向上

对样本数据中心化处理
求样本协方差矩阵
对协方差矩阵特征值分解,特征值从大到小排列。
对特征值前d大对应的特征向量w1,..wd,通过映射将n维样本映射到d维

与最大方差角度殊途同归

线性判别分析LDA:有监督降维方法,最大化类间距离,最小化类内距离
引入核函数扩展LDA以处理分布更复杂的数据


优化算法
机器学习=模型表征+模型评估+优化算法

实际问题:大规模,高度非凸
一、要根据特定的模型,选择合适的损失函数
二、凸优化问题,所有局部最小值就是全局最小值。其他如SVM,线性回归等线性模型。
主成分分析的优化问题是非凸优化问题。
三、经典方法
优化算法分为:直接法(要求是凸函数,梯度为0有闭式解)
和迭代法(迭代地修正对最优解的估计)
四、梯度验证
五、随机梯度下降
如何取M值,如何随机取M个点。如果取学习速率α
六、批量梯度下降法,动量方法、adam方法
七、L1正则化与稀疏性
L1正则化使得模型具有稀疏性


采样
自助法和刀切法


GBDT梯度提升:模型不需要参数化形式表示,定义在函数空间中,大大扩展可以使用的函数种类(基于损失函数的负梯度构造新的决策树)
梯度下降:模型可以参数化形式表示

GBDT优点:
树与树间并行计算
适合分布稠密的数据集

缺点:
不适合高维稀疏
不适合文本分类特征
训练过程需要串行

XGBOOST是GBDT的改进,显示加入正则项,控制复杂度,减少过拟合
XGBOOST采用多种基分类器,GBDT是线性分类器
XGBOOST运用采样,GBDT运用全部数据
XGBOOST对缺失值有识别,GBDT没有

《百面机器学习》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. Java反射机制实例解析
  2. Jzoj4458 密钥破解——Pollard-rho
  3. asp单元格合并后宽度没有合并_ElementUI Table组件如何使用合并行或列功能深入解析...
  4. 一个Objective-C对象如何进行内存布局?(考虑有父类的情况)
  5. Linux下axel多线程下载
  6. Linux 命令行下载命令 Axel 多线程下载
  7. android音频测试方法,Android左右声道音频文件测试
  8. 若依启动sentinel教程
  9. mysql字符串查询_mysql字符串查询常用命令
  10. 个人简历网站模板源码
  11. NPN 、PNP 三极管开关形式的典型接法(注意上下拉电阻)
  12. ivr cti_简而言之,网络威胁情报(CTI)— 1
  13. reflets 第零课 课文涉及内容介绍及翻译
  14. 使用120台相机进行3D拍照建模
  15. 集算器读写 json
  16. 小孩近视用白炽灯好吗?使用护眼台灯有啥好处?
  17. qt修改程序图标名称_【Qt开发】更改应用程序图标和任务栏图标
  18. 【线代】特征值、惯性指数、标准型、规范型的关系?等价、相似与合同?
  19. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
  20. 数据库系统工程师任职要求

热门文章

  1. 计算机毕业设计中用Java实现商场库存清单案例
  2. pb 如何判断数据窗口中是否有某个字段_怎么判断数据窗口中某个字段存在重复的数据...
  3. al00华为手机_jmm-al00是什么型号
  4. mysql怎么导出导入数据库结构_mysql导入SQL、导出数据库、表、结构
  5. 记 计算机 科学学院 教师,学风浓厚,桃李芬芳—记计算机学院金国祥老师
  6. 启动mysql55命令_mysql服务的启动和停止登陆mysql增加新用命令和方法实例教程
  7. dirent.h简介
  8. C++面试题-指针-指针常量与常量指针
  9. 数据仓库流程和代码说明
  10. java操作ElasticSearch(es)进行增删查改操作