## 1 算法学习目标
* 1 懂原理-算法基本原理
* 2 会用工具
* 用包解决一些工程问题
* 3 掌握语言
* 实现算法原型
* 加深对算法的理解
* 4 会优化
* 根据自己的需求
* 定制化的改进算法
## 2 基础知识
### 2.1 基础知识
* 2.1.1 课程纲要
* 机器学习几个基本概念
* 机器学习实质
* 机器学习方法的三要素
* 经验风险和结构风险
* 2.1.2 目标
* 了解机器学习相关概念
* 了解机器学习实质
* 了解常见损失函数
* 了解经验风险和结构风险
* 2.1.3 机器学习方法流程
* `监督学习`为例,eg好比`比照例题做习题`
* `监督`,有结果的样本数据
* `模型`,eg女孩子购物180的包 还价90
* `监督学习流程`,
* `输入数据(Raw data)`,
* `特征工程(Features)`,特征加工和整理
* `模型训练(Models)`,如果数据训练出模型,并且评估模型
* `模型部署(Deploy in production`),放到线上做成API
* `模型应用(Predictions)`,预测
* 业务和数据都是动态变量的,`模型生命周期有限`,定期去更新模型
* 2.1.4 输入空间(Input Space)和输出空间(Output Space)
* `输入空间`,输入所有可能取值集合
* `输出空间`,输出所有可能取值集合
* eg 父亲身高所有可能取值(`输入空间`),儿子的身高所有可能取值(`输出空间`)
* eg 泰坦尼克生还,`输出空间`生还指标;`输入空间`除了生还指标以外的
* 2.1.5 特征空间
* `特征(Features)`,属性
* `特征向量(Features Vector)`,多个特征组成的集合
* `特征空间(Features Space)`,特征向量所有可能的取值的集合
* eg 身高,父亲身高165 `这是一条特征`;(165)`一维特征向量`;
* eg 泰坦尼克号,除了survive字段以外的,就是一个`十一维的特征向量`
* `特征空间`和`输入空间`可以相同也可以不同,eg 身高就是相同的;泰坦尼克号`fare票价`,`离散为c_level`就是不一样
* `模型`定义在`特征空间`上
* 2.1.6 假设空间(hypothesis space)
* `模型`属于从输入空间到输出空间的`映射集合`,这个集合就是`假设空间`
* 从输入空间到输出空间的映射集合就是假设空间
* eg 购物
* 输入空间 `gender 男 女 credit 高 中 低`
* 输出空间 `buy 买 不买`
* 假设空间 `输入记录所有可能出现的可能组合`
* 假设空间中的每一种可能就是一个假设
* 那么假设空间个数在这里就是2<sup>2x3</sup>
* 建模就是从2<sup>2x3</sup>种假设种`挑出贴合数据的假设`
* 这个`贴合的假设`作为模型对新的数据进行预测
* 寻找模型就是在`输入`和`输出`映射的`假设空间`中,寻找一种`当前数据匹配度最高`的`假设`
### 2.2 机器学习方法的三要素
* 2.2.1 机器学习方法的三要素
* 机器学习方法由`模型`,`策略`,`算法`构成;`方法`=`模型`+`策略`+`算法`
* `模型`,输入空间到输出空间的映射关系
* 确定学习范围
* `策略`,从众多假设空间中`挑选最优模型的标准`和`规则`
* 确定学习规则,去寻找最合适的假设
* `算法`,学习模型具体的`计算方法`,假设空间中找假设就是求解`最优化问题`
* 按规则在范围内学习,如何找到最优解
* 2.2.2 模型
* 分析当前问题,确定模型
* 预测分类
* 分类(classification)
* eg 泰坦尼克生还
* eg 消费者购买可能性
* 预测取值
* 回归(Regression)
* eg 预测身高
* eg 预测产品价格走势
* 发现结构
* 聚类(Clustering)
* eg 分析客户购买能力
* 发现异常数据
* 异常检测(Anomaly Detection)
* eg 电信防欺诈
* 2.2.3 策略
* 假设空间中找到最优假设(模型)的`学习标准`和`规则`
* 1 评估某个模型对`单个训练样本`的效果
* 2 评估某个模型对`训练集`的整体效果
* 3 评估某个模型对包括`训练集`,`预测集`在内的所有数据的整体效果
* 需要定义指标对上述问题做衡量
* `损失函数`,
* 0-1损失函数,
* 平方损失函数,
* 绝对损失函数,
* 对数损失函数
* `风险函数`,
* 经验风险,
* 期望风险,
* 结构风险
* 基本策略
* `经验风险最小(EMR,Empirical Risk Minimization)`
* `结构风险最小(SMR,Structural Risk Minimization)`
* 2.2.4 损失函数(Loss Function)
* 度量单个样本的预测结果和真实值差异
* 衡量预测结果和真实结果之间的差距,损失函数值越小效果越好,损失函数L(Y,f(x)) Y真实值
* `0-1损失函数(0-1 LF)`,预测值和真实值精确相等`没有损失`记为0,`完全损失`记为1
* `绝对值损失函数(Absolute LF)`,预测值和真实结果差的绝对值
* `平方损失函数(Quadratic LF)`,预测值和真实结果差的平方
* `对数似然损失函数(log-likehood loss function)`,对数具有单调性
* `指数损失函数(Exponential LF)`,单调性,非负性,
* `折页损失函数(Hinge LF)`,对于判定边界附近点的惩罚力度较高,常用于SVM
* 不同损失函数应用场景
* `0-1`,理想状况模型
* `对数log`,逻辑回归,交叉熵
* `平方Squared`,线性回归
* `指数Exponential`,AdaBoosting
* `折页Hinge`,SVM,soft margin
* 2.2.5 经验风险(Empirical Risk)和风险函数(Risk Function)
* 经验风险
* 损失函数,预测单个样本和真实值的差异
* 衡量整个训练集预测值和真实值的差异,
* 经验风险越小,说明模型f(x)对训练集的拟合程度越好
* 损失函数累加/N
* 风险函数(期望损失,期望风险)
* 所有数据集(训练集合测试集)损失函数的期望值
* 经验风险VS期望风险
* 期望风险模型对`全局(所有数据集)的效果`,经验风险是模型对`局部(训练集)的效果`
* 期望风险往往`没法计算`,经验风险`可以计算`
* 训练集足够大时,经验风险可以替代期望风险,局部最优替代全局最优
* 经验风险问题
* `在样本量较小时`,`仅关注`经验风险,容易导致`过拟合`
* eg 7个数据点(x,y)
* 一次模型拟合 直线
* 两次模型拟合 曲线
* 三次模型拟合
* 四次模型拟合
* 五次(一元五次方程)模型拟合
* 六次模型拟合 完美拟合每一个点
* 2.2.6 结构风险(Structural Risk)
* 在`经验风险`基础上,增加一个`正则化项(Regularizer)`或者叫`惩罚项(Penalty Term)`
* `结构风险` = `经验风险`+`λJ(f)`(模型f(x)的复杂度),λ大于0
* 经验风险VS结构风险
* 经验风险越小,模型决策函数越复杂,包含的参数越多
* 经验风险小到一定程度就出现`过拟合现象`
* 防止过拟合方式,降低决策函数的复杂度,让惩罚项J(f)最小化
* 需要同时保证经验风险函数和模型决策函数复杂度都达到最小化
* 把两个式子融合到一起成为一个式子,得到结构风险函数然后对结构风险函数进行最小化
* 2.2.7 正则化项
* 选定惩罚函数项
* 计算结构风险和经验风险
* 选择结构风险最小的
* `λJ(f)`(模型f(x)的复杂度),λ大于0
* 2.2.8 范数
* 正则化函数λJ(f)有多种选择
* 一般它是模型复杂度单调递增函数
* 模型越复杂,函数值越大,惩罚力度越大
* 范数常为模型参数向量的范数
* 常用的范数有:零范数,一范数,二范数,迹范数
* `跳过`
* 2.2.9 期望风险 vs 经验风险 vs 结构风险
* 如何判断一个模型好坏,通过`损失函数`和`风险函数`判断
* 期望风险(需要拿到训练数据和预测数据集),预测数据集一般不容易拿到
* 经验风险(在训练集)上拟合效果过好,容易产生过拟合(训练集上表现好,预测集上表现差)
* 如何避免,结构风险 = 经验风险+惩罚项;模型过于复杂惩罚项就会变大,模型就不会被选中
* 经验风险保证在训练集上拟合效果好;惩罚项保证拟合效果不错,不要基于过于复杂的模型
## 3 总结和回顾
### 3.1 总结
* 3.1.1 基本概念
* 输入空间
* 输出空间
* 假设空间
* 特征空间
* 3.1.2 机器学习实质
* 输入空间到输出空间中各种假设形成的假设空间中,找到对当前数据拟合情况最好
* 3.1.3 机器学习三要输
* 模型,确定问题
* 策略,评估模型好坏规则
* 算法,如何在规则内优化得到要的假设
* 3.1.4 机器学习`策略`如何判断模型好坏
* 经验风险
* 期望风险
* 结构风险 = 经验风险+惩罚项(模型不要过于复杂)
### 3.2 学习目标
* 3.2.1 基本概念
* `输入` `输出` `假设` `特征`
* 3.2.2 机器学习实质
* 假设空间中`搜索更适合当前数据`的`假设`
* 3.2.3 损失函数
* 预测结果和模型真实值的差异
* 常见的损失函数 0-1函数 绝对值 平方损失函数
* 平方损失函数
* 计算容易
* 结果为非负实值
* 经常回去求导,算起来容易
* 3.2.4 经验风险和结构风险
### 3.3 思考和练习
* 3.3.1 空间相关概念,解释机器学习实质
* 3.3.2 经验风险和结构风险不同,经验风险和期望风险的不同
* 3.3.3 为什么要引入正则项,和经验风险和结构风险的关系
* 3.3.4 损失函数的意义,常见的损失函数,说明异同;了解常用算法选用什么损失函数
* 3.3.5 泰坦尼克号生还分析,拆解案例