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. Knowledge Point 20180305 十进制转换成二进制浮点数

    如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为1010 ...

  2. 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component

    自己写了个最简单的springMVC项目练练手,没有用maven,在WebContent中新建了lib文件夹,将jar包复制到这里面,然后add to build path到项目里. 启动Tomcat ...

  3. SSH整合(一)

    一.ssh原始整合方式 不需要任何整合包,就是简单的将三个框架集合到一起 hibernate        导入jar包:            hibernate-release-5.0.7.Fin ...

  4. 记一次MySQL中Waiting for table metadata lock问题的处理

    起因:由于需要,要把一张表的一个字段从不是 null 改成 可null,我用的Navicat Premium ,但是在保存的时候,工具无响应了,几个同事操作都是这样的,很奇怪,怀疑是不是由于表被锁了还 ...

  5. shell定时统计Nginx下access.log的PV并发送给API保存到数据库

    1,统计PV和IP 统计当天的PV(Page View) cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l 统计某一天的 ...

  6. Android 微信页面刷新问题

    今天测试妹纸提了个bug,Android手机用微信打开测试页面,刷新功能无效.因为开发时懒,只验证了Ios手机无异常,没有注意打安卓这个问题. 我是直接用的window.location.reload ...

  7. MySQL 半同步重要状态参数说明

    如果配置了MySQL半同步复制,可以在主库查询半同步状态,命令为: SHOW GLOBAL STATUS LIKE '%semi%'; 参数说明      Rpl_semi_sync_master_c ...

  8. JS中数组方法的封装之slice

    slice方法的功能 // 1) : 数组的截取 // 2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包] // slice(m) : 从索引m开始,截取到末 ...

  9. STM32 uart 单线半双工模式(cube版本)

    STM32 uart 单线半双工模式(cube版本) 1.引言 在某些场合下需要进行三线制串口通信(信号线只有一根),这就要求进行单线半双工的模式进行通信.在这种情况进行数据协议传输的过程中,信号端需 ...

  10. C++实现json字符串与map的转换

    开源资源库 jsoncpp-src-0.5.0.tar.gz:https://sourceforge.net/projects/jsoncpp/ jsoncpp-master.ziphttps://g ...