概述
机器学习(西瓜书)--第3章线性模型笔记
- 第三章 线性模型
- 3.1 基本形式
- 3.2 线性回归
- 3.3 对数几率回归
- 3.4 线性判别分析
- 3.5 多分类学习
- 3.6 类别不平衡问题
- 线性判别分析LDA—西瓜书课后题3.5
第三章 线性模型
3.1 基本形式
3.2 线性回归
公式推导
3.3 对数几率回归
3.4 线性判别分析
3.5 多分类学习
二分类推广到多分类,即将多分类任务拆分为若干个二分类任务求解。拆分策略:“一对一”、“一对其余”、“多对多”。示意图如下:
MvM是每次若干个类作为正类,若干个其他类作为反类。最常用的MvM技术:“纠错输出码”。分为两步:编码和解码。
编码:对N个类别做N次划分,每次划分将一份份类别划分为正类,一部分划分为反类,从而二分类训练集;
解码:M个分类器分别对测试样本进行预测,预测标记成一个编码,将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
3.6 类别不平衡问题
正负样本差距大,影响模型结果,分类器预测几率:
y
1
−
y
>
m
+
m
−
则
预
测
为
正
例
frac{y}{1-y} > frac{m^+}{m^-} 则预测为正例
1−yy>m−m+则预测为正例
m
+
m^+
m+表示正例数目,
m
−
m^-
m−表示负例数目
对预测值进行调整,只需令:
y
′
1
−
y
′
=
y
1
−
y
∗
m
−
m
+
frac{y'}{1-y'}=frac{y}{1-y} * frac{m^-}{m^+}
1−y′y′=1−yy∗m+m−
这就是类别不平衡学习的一个基本策略-“再缩放”,需要“训练集是真实样本总体的无偏采样”,但往往不成立,也就是说未必能有效地基于训练集观测几率来推断出真实几率。现有技术:1、欠采样:除去反例,使正反数目接近;2、过采样:增加正例,使正反数目接近;3、阈值移动,把上式嵌入到决策过程中。
- 过采样不能简单对正例进行重复采样,代表算法是SMOTE,通过插值产生额外的正例。
- 欠采样若随机丢弃反例,会丢失一些重要信息,代表算法EasyEnsemble集成学习机制,将反例划分为若干个集合共不同学习器使用,这样从全局来看不会丢失重要信息。
线性判别分析LDA—西瓜书课后题3.5
时间有限,只选了一条进行代码实现,不知道结果对不对,网上查了下答案,有和我的类似的,也有和我不一样的,一样的链接如下点击查看,这个结果斜率差不多是5,和我的类似。
我是用python实现的,具体代码如下 代码片
.
// An highlighted block
import pandas as pd
import matplotlib.pyplot as plt
dataSet = pd.read_table('data.txt',sep = ' ')
y = dataSet.loc[:,'label'].values
X = dataSet.values[:,0:2]
X_0 = dataSet[dataSet['label'] ==0].values[:,0:2]
X_1 = dataSet[dataSet['label'] ==1].values[:,0:2]
mu_0 = X_0.mean(0)
mu_1 = X_1.mean(0)
S_w = np.zeros((2,2))
for i in range(X_0.shape[0]):
S_w = S_w + np.dot((X_0[i,:] - mu_0).reshape(1,2).T, (X_0[i,:] - mu_0).reshape(1,2))
for i in range(X_1.shape[0]):
S_w = S_w + np.dot((X_1[i,:] - mu_0).reshape(1,2).T, (X_1[i,:] - mu_0).reshape(1,2))
#### svd 分解
U,Sigma,VT=np.linalg.svd(S_w)
S_w1 = np.dot(VT.T/Sigma, U)
w = np.dot(S_w1, (mu_0 - mu_1))
print (w)
plt.plot(X_0[:,0], X_0[:,1], '.r',label ='bad' )
plt.plot(X_1[:,0], X_1[:,1], '.k',label ='bad')
k = w[1]/w[0]
plt.plot([0,0.1],[0, 0.1*k],'-b')
结果如如下:
最后
以上就是标致茉莉为你收集整理的机器学习(西瓜书)--第3章线性模型笔记第三章 线性模型的全部内容,希望文章能够帮你解决机器学习(西瓜书)--第3章线性模型笔记第三章 线性模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复