1. 线性模型

基本形式:给定由d个属性描述的样本 x = (x1; x2; ......; xd),其中,xi是x在第i个属性上的取值,则有:

f(x) = w1x1 + w2x+ ...... + wdxd + b

令w=(w1; w2; ......; wd),x = (x1; x2; ......; xd),使用矩阵乘法写为向量形式:

f(x) = wTx + b

在w和b的值确定后(w=(w1; w2; ......; wd)),整个模型就得以确定,其中,权重向量w可以直观表达各个属性的重要性。

2. 单一变量线性回归(Single Variable Linear Regression)

给定数据集 D = {(x1, y1), (x2, y2), (x3, y3), ......, (xm, ym)},其中 x= (xi1, xi2, xi3, ......, xid),y∈ R,线性回归想要学到一个线性模型,以尽可能准确地预测实值输出标记。

首先考虑最简单的情况:输入的属性数目为1

目标:

误差函数(均方误差):

基于均方误差最小化进行模型求解的方法称之为:最小二乘法。

所以,求解w和b的值,使得E(w, b)最小化的过程,称之为线性回归的最小二乘参数估计,将E(w, b) 分别对w和b进行求导:

故w和b的最优闭式解为:

附:对于离散属性,可以对其进行连续化处理,例如,[0, 1] 表示从低到高,则可以使用 [0, 0.5, 1] 来分别表示低、中、高。如果离散属性间属于无序关系,假定有k个属性,则可以转化为K维向量,例如,白人、黑人、黄人对应 (0, 0, 1)、(0, 1, 0)、(1, 0, 0)。

3. 多元线性回归(Multivariate Linear Regression)

从单一变量线性回归推广至更一般的情形:数据集D中的样本由d个属性描述,即:多元变量线性回归。

目标:

令 w = (w; b),将数据集D表示为一个 m * (d+1) 的矩阵X,最后一个元素恒置为1,故有:

令标记为向量形式 y = (y1; y2; ......; ym),则有:

故令:

求导:

最后求得的多元线性回归模型为:

4. 对数几率回归 (Logistic Regression)

阶跃函数 (Unit-step Function):

然而阶跃函数不连续,无法作为替代函数使用,所以选择使用Sigmoid函数来代替阶跃函数:

将 f(x)=wTx+b 代入Sigmoid函数:

可以推出:

从上面推导的最终结果可以看出,y为输入量x被模型预测为正例的可能性,相应的,1-y则是被预测为反例的可能性,所以 ln(y/1-y) 被称之为对数几率(log odds, logit),所以该模型称为对数几率回归,虽然基于回归,但是实现的功能却是分类,同线性回归一样,当w和b的值确定,模型就得以确定。

特点:

  1. 直接对分类结果可能性进行建模,无需事先假设数据分布;
  2. 不仅预测类别,还可以得到近似概率预测;
  3. logit函数时任意阶可导的凸函数,数学性质优良,很多数值优化算法可以直接用于求取最优解。

Machine Learning笔记整理 ------ (四)线性模型的更多相关文章

  1. Machine Learning笔记整理 ------ (一)基本概念

    机器学习的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E,使其在T中任务获得了性能改善,我们则说关于任务类T和P,该程序对经验E进行了学习(Mitchell, 1997) ...

  2. Machine Learning笔记整理 ------ (五)决策树、随机森林

    1. 决策树 一般的,一棵决策树包含一个根结点.若干内部结点和若干叶子结点,叶子节点对应决策结果,其他每个结点对应一个属性测试,每个结点包含的样本集合根据属性测试结果被划分到子结点中,而根结点包含样本 ...

  3. Machine Learning笔记整理 ------ (三)基本性能度量

    1. 均方误差,错误率,精度 给定样例集 (Example set): D = {(x1, y1), (x2, y2), (x3, y3), ......, (xm, ym)} 其中xi是对应属性的值 ...

  4. Machine Learning笔记整理 ------ (二)训练集与测试集的划分

    在实际应用中,一般会选择将数据集划分为训练集(training set).验证集(validation set)和测试集(testing set).其中,训练集用于训练模型,验证集用于调参.算法选择等 ...

  5. 第五周(web,machine learning笔记)

    2019/11/2 1.    表现层状态转换(REST, representational state transfer.)一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相 ...

  6. Python学习笔记整理(四)Python中的字符串..

    字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""&quo ...

  7. machine learning 笔记 normal equation

    theta=(Xt*X)^-1 Xt*y x is feature matrix y is expectation

  8. Scrapy Learning笔记(四)- Scrapy双向爬取

    摘要:介绍了使用Scrapy进行双向爬取(对付分类信息网站)的方法. 所谓的双向爬取是指以下这种情况,我要对某个生活分类信息的网站进行数据爬取,譬如要爬取租房信息栏目,我在该栏目的索引页看到如下页面, ...

  9. Struts2学习笔记整理(四)

    Struts2上传下载 文件上传 如果想使用HTML表单上传文件(一个或多个),那么必须把HTML表单的enctype属性设置成multipart/form-data,且method=post, 且使 ...

随机推荐

  1. 一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList

    一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) S ...

  2. asp.net mvc5 step by step(三)—— Entity Framework Database First

    一.先建数据库. 打开,SQL Server Management 新建数据库Employee 并新建表 /****** Object: Table [dbo].[t_Employee] Script ...

  3. Spring 整合Mybatis dao原始方法

    先看一下项目图,基本就理解了整合的内容 这次主角不再是Mybats的配置文件SqlMapConfig.xml了,而是Spring的applicationContext.xml applicationC ...

  4. GPUImage源码解读之GPUImageFramebuffer

    简介 OpenGL ES的FrameBuffer是渲染发生的地方,普通的2D图形的渲染默认发生在屏幕上:而三维的图形渲染则除了包括像素点的颜色,还有Depth Buffer,Stencil Buffe ...

  5. AtomicStampedReference解决ABA问题

      在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值 ...

  6. 原生js实现简单的随机点名系统

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  7. 利用binlog2sql闪回丢失数据

        today,i'll using the open source tool named "binlog2sql" which is release by danfengch ...

  8. python3.X 安装web.py 失败的解决方法

    python2.x 安装python是非常顺利的 但是 在进行 pip3 install web.py 时提示很多错误 例如缺少模块 语法错误...... 最后试了一下web.py 的dev版本 pi ...

  9. JAVA基础 - 类的构造与实例化

    一个简单的demo,主要运用: 抽象类,类的继承 类的实例化,构造函数 @Override重写父类方法 package week4; abstract class Person { void show ...

  10. python网络编程之协程

    本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的 ...