周志华机器学习(三)线性模型

文章目录

  • 前言
  • 3.1 基本形式
  • 3.2 线性回归
    • 2.读入数据
  • 3.3 对数几率回归
    • 1.引入库
  • 3.4 线性判别回归
  • 3.5 多分类学习
  • 3.6 类别不平衡问题


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

3.1 基本形式

f(x)=W1X1+W2X2+W3X3+...+WdXd+b
向量形式
f(x)=W(T)X+b
f好瓜(x)=0.2.X色泽+0.5.X根蒂+0.3.X敲声+1

w和b学得之后模型就可以确定
定义:线性模型试图学得一个通过属性的线性组合来进行预测的函数。说明根蒂比敲声重要,敲声比色泽重要。

3.2 线性回归

假设给出一个数据集合{(xi,yi)},线性回归希望学得一个线性模型来尽可能准确地预测实值输出标记。
小tip:对于离散有序属性,有两个属性可以取值为{1.0,0.0},对于有三个属性可以转化{1.0,0.5,0.0},如果属性间不存在有序关系可以用向量来进行表示:(0,0,1)(0,1,0),(0,0,1)

那么如何来确定W和b呢?
关键是在于如何衡量f与y之间的差别。

均方误差的几何意义?
对应了常用的欧几里距离,使得均方误差最小化的方法就是最小二乘法,最小二乘法找到一条直线,使得样本到直线上的欧式距离最小。

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


3.3 对数几率回归

线性回归模型怎么做分类问题?就是将求得的结果Z和0比较,若大于0,y=1,z=0,y=0.5,z<0,y=0.
即预测值大于0就判为正例,小于0就判为反例,等于0可以任意判别。因为单位跃阶函数不可微的,对数几率函数就出现了,可以微调,对数几率函数是一种Sigmoid函数,y值在0和1之间,

1.引入库

3.4 线性判别回归

LDA:给定训练样例集,设法将样例投影到一条直线上,同类样例的投影点尽可能靠近,异类样例的投影点尽可能远离,在对新鲜本进行分类的时候,将其投影到相同的直线上,根据投影点的位置来对样本进行分类。将样本投影到d维空间,以为d 比样本的数小,所以LDA通常用来监督降维。

3.5 多分类学习

对于多分类问题,我们一般是将多分类拆解为二分类,然后循环,最后得到训练结果,拆分方式OVO(一对一),OVR(一对多),OVO训练n(n-1)/2个分类器,OVR训练N个分类器,OVO的存储和测试开销相对较大,OVO每次训练用到两个样例,OVR每次训练用到所有的样例,所以OVO的训练时间更短。

3.6 类别不平衡问题

在训练样例的时候,我们会遇到正例和反例比例不均衡的问题,这样得到的学习器对于其中不均衡的一方就不会起到很好的预测效果,例如样例中正例有998个,反例有两个,则学习器对反例测试是没用的,解决方法
1) 增加反例,使得样例总数增大,但是如果重复取得相同的反例,就会出现过拟合。
2)减少正例,样例总数减少,预测不准确
3)使用再缩放,进行阀值移动,进行决策的时候。这个是代价敏感学习基础。

你可能感兴趣的:(机器学习,机器学习)