【机器学习】线性模型(线性回归、Logistic回归、LDA)

线性回归

1d4c99aabf6d7cda300baf8a557530d0.png

1、单一属性线性回归

单一属性的线性回归目标:

15429903a3dd5e6420d6e50d05f731ff.png
30568a08a5a08cc526e1b83698b861bb.png
  • 最小二乘法

2b6d7c1743e7759f444145489e17ffd5.png
be93f7a7d39553c0260bc004c5b2755b.png

2、 多元线性回归

  • 线性模型的一般形式

86259ffb20e6867d0674a72ed0291611.png

 

a389f61068882fbee9af2b274100af79.png
c592bc3940bdb896bc74dce173c5f710.png
43e43946dc7cda69f3948a78c614daa9.png
  • 最小二乘法

14da83d91487969251080bea154cb8c8.png
9655659374decdf77b0dcf1d5c94c989.png

3、 线性模型的特点

形式简单、易于建模,可解释性强,是非线性模型的基础。

对异常点鲁棒性差。

线性并不指对输入变量的线性,而是指对参数空间的线性。对于输入来说,可以对先对其进行非线性变换,再进行线性组合。从这个角度来说,线性模型完全具有描述非线性的能力。


Logistic回归

  1. 二分类任务

  • 单位阶跃函数:不连续

36203e534894255fbfec9739ce663d23.png

预测值大于零就判为正例,小于零就判为反例,预测值为临界值零则可任意判别

  • 对数几率函数:单调可微、任意阶可导

4eb86a5030106594c5f77ba82bc77440.png
  • 对数几率

5c0959f773aa3261b8e97dd83238b5b3.png
  • 极大似然法

88a7e20707634b9dc0c9a8d50798a071.png

化简可得:

7c9af3287eba49ebbd1501468b6b9822.png
4ae8d0f61e5bd1772bd32e246c57ad09.png
  • 推导(南瓜书)

44879b73c6999752f9aad18873f7637d.jpeg
1a14c5968f41c2b203b50ba0b33ab051.png

2. 对数几率回归优点

5842ff0c99cfc6ed35f181035bbb2772.png

线性判别分析(LDA)

  1. 思想

欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小。

欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大。

2. 二分类任务

1d3d9b42c086a3a0f9f453122b807ec4.png
578b249bedf5892b24673ee5fda7f1c9.png
f2f786107766c45c00957bac5b944475.png

3. 多分类任务

50910ad50ede1a5417b2c11432842ae5.png
ae5c2dccd0d3a7bf709c9c7aaa1afe00.png
63c1524d5f6b0a4323e698e907ecaa85.png
3cf9b2c94d76f7048d631af7023371e2.png
3df12e198d8a968df7293ea932956b51.png

多分类学习

  1. 一对一

对N个类别两两配对,得到N(N-1)/2 个二类任务,训练出N(N-1)/2 个二类分类器。

把新样本提交给所有分类器预测,得到N(N-1)/2 个分类结果。

投票产生最终分类结果,被预测最多的类别为最终类别。

17081d63b279be26910fbcf1cbd13860.png

2. 一对其余

将某一类作为正例,其他反例,得到N 个二类任务,学习出N 个二类分类器。

新样本提交给所有分类器预测,得到N 个分类结果。

比较各分类器预测置信度,置信度最大类别作为最终类别。

d610a3d18d4c8e810d2723eecad342c4.png

3. 两种策略比较

OvO的存储开销和测试时间开销通常比OvR大:OvR只需训练N个分类器,而OvO需训练N(N-1)/2个分类器。

类别多时,OvO的训练时间开销通常比OvR小:训练时,OvR的每个分类器均使用全部训练样本,而OvO的每个分类器仅用到两个类样本

预测性能差不多:至于预测性能,则取决于具体的数据分布,在多数情形下两者差不多。

4. 多对多

●编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生 M 个训练集,可训练出 M 个分类器。

●解码: M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

0f2db95ffad3efbd6bfbc1021f63f3eb.png

ECOC编码对分类器错误有一定容忍和修正能力,编码越长、纠错能力越强。对同等长度的编码,理论上来说,任意两个类别之间的编码距离越远,则纠错能力越强。


类别不平衡问题

不同类别训练样例数相差很大情况(正类为小类)

  • 欠采样:去除一些反例使正反例数目接近

  • 过采样:增加一些正例使正反例数目接近

  • 阈值移动

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scikit-Learn是一个流行的Python机器学习库,其中包含了许多用于线性模型的工具。线性模型是一种广泛使用的机器学习方法,它可以用于回归和分类问题。下面是一些关于Scikit-Learn线性模型的介绍和演示: 1. 线性回归模型 线性回归模型是一种用于回归问题的线性模型。它的目标是通过拟合一个线性方程来预测一个连续的输出变量。在Scikit-Learn中,可以使用LinearRegression类来创建一个线性回归模型。下面是一个简单的例子: ```python from sklearn.linear_model import LinearRegression # 创建一个线性回归模型 model = LinearRegression() # 训练模型 model.fit(X_train, y_train) # 预测 y_pred = model.predict(X_test) ``` 2. Lasso回归模型 Lasso回归模型是一种用于回归问题的线性模型,它可以用于特征选择和稀疏性建模。在Scikit-Learn中,可以使用Lasso类来创建一个Lasso回归模型。下面是一个简单的例子: ```python from sklearn.linear_model import Lasso # 创建一个Lasso回归模型 model = Lasso(alpha=0.1) # 训练模型 model.fit(X_train, y_train) # 预测 y_pred = model.predict(X_test) ``` 3. 线性SVM分类器 线性SVM分类器是一种用于分类问题的线性模型。它的目标是通过找到一个最优的超平面来将数据分成两个类别。在Scikit-Learn中,可以使用LinearSVC类来创建一个线性SVM分类器。下面是一个简单的例子: ```python from sklearn.svm import LinearSVC # 创建一个线性SVM分类器 model = LinearSVC(C=0.1) # 训练模型 model.fit(X_train, y_train) # 预测 y_pred = model.predict(X_test) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值