极限
极限
O 来自 order 大写:以多项式的最大的次项的次数 大O(n) 表示 f(x) =O(g(x)) f(x)的阶与g(x)的阶相同
小写O f(x)=o(g(x)) f(x)的阶小于g(x)的阶
梯度下降法
连续[2:5,1:4]跳跃[[2,1],[3,5]]
SST (总方差)= SSE() + SSR (残差平方和)
只有无偏估计下成立,否则 SST≥SSE+ SSR
局部加权
最重要的问题: 如何度量权重
Logistic回归
p(y|x:θ) y=0, y=1时,写成上述密度函数形式
解法1: 从mle求解
极大似然估计的梯度上升算法,本质与梯度下降无区别,梯度上升取正梯度方向,同样设置步长a;梯度下降选取负梯度方向,
线性回归: 假定服从高斯分布,通过MLE进行估计
logistics回归: 假定服从二项分布,通过MLE进行估计
如果都进行梯度下降法估计,会发现求解的方式都是一样的
广义线性模型的定义: 因变量不服从正态分布,且因变量与自变量不存在线性关系;广义就是要找一个非线性的关系f,使得转换后更接近因变量的分布
证明是一个广义的线性模型:
对数线性模型:
从对数模型理解 logistics函数
一方面: 从 ln(p/(1-p)) = θx 推导出 p = logistics函数,说明希望对数模型是线性的,从而推导出概率可以用logistics函数表示
另一方面: 从 p=logistics函数 + ln(p/(1-p))对数模型,推导出对数模型是线性的θTx
广义线性模型 → 相似的梯度下降方法
解法2: 从损失函数进行求解
(1)对 -1, 1转换为0, 1 进行(yi+1)/2...
softmax回归
鸢尾花数据
分为三个 二分类问题,算出三个AUCi值
micro: 直接算三个平均AUCi,得出AUC
macro: 总体加和,当作一个AUC计算
假设: 误差ξ服从高斯分布(0, δ)
①最大化似然函数,对l(θ)进行简化
max l(θ) 等价于 min(J(θ))
注意:
(1)是关于θ的函数,最大化θ参数
(2)J(θ)是一个xTx的凸函数,因为xTx是半正定的,开口向上,xTxθTθ就是关于θ的开口向上的二次函数
(1)L2正则,进行对θ惩罚 -- Ridge回归
L1正则, -- Lasso回归
1 拉格朗日角度进行解释
(1) 原本的目标: 希望θ=0就计0,不等于0就计为1,惩罚θ>0时候的数目,但是由于是无解的,因此用L1范数进行近似
推导看手稿:
2 几何解释:
L1约束使得某一个wi是0,稀疏约束
L2使得两个wi都比较小,约束
(1)坐标轴下降法
(2)近端梯度近似法... 其余还有很多
(1)当x可逆, θx =y可以直接进行求解,不用进行目标函数最小化求解,因此可以利用SVD进行奇异值分解,求出伪逆矩阵后进行求解
假设1:p(Ai) 概率相似
P(D|Ai): 给定结论Ai下, 这个数据以多大的概率产生。 可以理解为x1..xn是未知的数据参数,θi是已知的参数,能够使 p(x1..xn|θi)最大的参数θi,就是我们想要估计的参数, 这里xi对应D,Ai对应参数θ
公平赔率; y = 1/p y是赔率,p是赢的概率
赔率公式 y =a/p
计算庄家盈亏:
10.5% = 0.21 a / 2a
2 PCA
2.1 原理
①求协方差矩阵
② 特征值排序
③ 方差最大的就认为是主要的方向,其中特征向量相互垂直,每一个特征向量就是一个方向,Aμi的方差最大,就认为是最主要的投影方向
①假定样本已经作了中心化,所以忽略均值E
Q 为什么特征值最大 等价于 求方差最大?
PCA中希望投影的方差最大,认为得到的信息最多。
目标函数:
加上等式约束 μTμ=1, 根据拉格朗日求解,
aJ/aμ = 2ATAμ +2λμ = 0 ,求得λ就是 ATA的特征值。
因此,方差最大 等价于 最大特征值
2.2 过拟合问题
使用高阶的特征x1^2, x2^2...,特征过多,虽然会得到弯曲的曲线进行分离,但是很有可能产生过拟合问题
决策树不需要做one-hot编码
6.1 Prime
计算素数:
fliter(函数, x): 把数字放入x中,结果输出
让机器学习程序替换手动步骤,减少企业的成本,也提高企业的效率
真是听过讲的最烂的,重点yong'yuan'tiao'guo
# Machine learning
- make decisions
- go right/left
- increse/decrease
# 为什么使用tensorflow
- GPU加速 比cpu快很多
- 自动求导
- 神经网络API
> 给与cpu和gpu一个热身的时间:warm-up
数据分析的流程:
控制流程:顺序、条件、循环
# 回归
## 一、线性回归
- 离散型数据:分类
- 连续型数据:回归
### y=kx+b
### 多个变量的情况
# 数据清洗和特征选择
## fuzzeywuzzy模糊查询
- 任何一次插入,修改和删除算作一次过程+1
# 非监督学习
## k-means (聚类)
> 聚类做在分类之前
# 分类算法:逻辑回归
> 逻辑回归:线性回归的式子作为输入,解决二分类问题, 也可以得出概率值
## 1、应用场景(基础分类问题:二分类)
- 广告点击率
- 是否为垃圾邮件
- 是否患病
- 金融诈骗
- 虚假账号
## 2、广告点击
- 点击
- 没点击
## 3、逻辑回归的输入与线性回归相同
# 模型的保存和加载
from sklearn.externals import joblib
## 过拟合与欠拟合
> 问题:训练集数据训练得很好,误差也不大,在测试集上有问题 原因:学习特征太少,导致区分标准太粗糙,不能准确识别处目标
- 欠拟合:特征太少
- 过拟合:特征过多
特征选择:
- 过滤式:低方差特征
- 嵌入式: 正则化,决策树,神经网络
## 2、线性回归策略
> 预测结果与真实值有误差
> 回归:迭代的算法,知道误差,不断减小误差,
### 损失函数
- 最小二乘法之梯度下降
scikit-learn:
- 优点:封装好,建立模型简单,预测简单
- 缺点:算法的过程,有些参数都在算法API内部优化