机器学习 —— log-linear 模型
昨天刚刚解决了 logistic regression 之后今天又来了个有趣的家伙。 logistic regression 很强大,但是也有它的弱点。它最大的弱点就是只能告诉你是或者不是,而无法告诉你 XX is YY.这对于追求人工智能来说,只能是走出了一小步。在解决 YES/NO 的问题之后,我们还需要解决 WHAT 这个问题。 聪明的计算机科学家(也许是数学家)又设计了一种新的模型,这种模型可以告诉我们 WHAT。也就是 log-linear 模型。
——离真正的人工智能还很远,或许它是一个科学问题而不是一个工程问题,记我学习 Mechine Learning 的第二天
1、Log-linear
如果要计算机告诉我们WHAT,按照之前的思路,还是应该从概率入手。应该是找到某个模型,模型的输入是一些信息,模型的输出是the label在已知信息下的可能性。这个模型里有参数,不同的label对应不同的参数。对于测试目标,我们只要比较它-->model(the para) 后得到的概率,就可以推断它和哪个label比较配。label应该是有限的。接下来的任务就是找the label 对应的参数。
这组参数应该使 p(y|x;w)达到最大,其中 y 是what:洗衣机,台灯,冰箱、、、、x 是样本:颜色,形状,大小,重量,价格,材质......
概念我们有了,接下来就只有一个问题:这个模型长什么样。既然是个概率模型,那我觉得首先有两个重要特征:
1.它应该不只一项,最好每项都能表达 <label - 维度> ,样本有d个维度,这个方程应该有 d 项,毕竟我们总是希望我们的各种样本维度在计算时不是耦合的。
2.它的取值范围应该在0~1之间,因为它是概率。
接下来我们就要设计一个有着优良数学性质的模型,毕竟我们还要对参数求导算梯度呢。。。。搞个很复杂的东西怎么行。。。。
首先,这次的方程不再是x一个人的事情,因为y也是多样的:那么对于某一项应该表示成: Fij(x_i,y_1).
其次,这些项应该是相加关系,我们用权重来控制这一项对 p(y_j|x)的贡献, 也就是说,这些项的“合成效果”应该表达成 :Wij是各个项的权重.
i = 1:d j=1
∑Wij*Fij(x_i,y_j)
接下来,上面那一堆和的结果都不一定是正的,所以我们首先要保证它大于0,老办法取指数: exp(∑Wij*Fij(x_i,y_j))
最后,如果再想办法让整个东西小于1,那它就基本符合我们的要求了,怎么搞? 显然,把所有词性都算一遍再求和,就会大于单个词性。
实际上,我们拼出来的就是log-linear模型。


那么在给定一个训练集时,我们要使得the label判断最准确,应该让p尽量大。本质上就是让分子尽量大,我们就有了训练的目标:

于是乎还剩下最后一个问题,如何确定 F
2.特征方程 F
F 被称为特征方程,它一共有 C*d个,C是标签数,d是样本维度。也就是说,每个维度都是和特征有关的。


i=1~d, c=1~C
也就是说,Fj对应了所有的label,每个label 有d个F. 是不同的。这样可以自动生成需要的所有Fj(洗衣机对应1~d号的话,电吹风会自动对应d+1~2d号。。。),上述是一种Naive的Fj设置方法,它认为只有当y取某个特定标签时,才使用Fj中的某些项,当y取其他标签时,这组权重是被屏蔽的。例如:我们在讨论某个物体是不是洗衣机时,电吹风的训练权重就被屏蔽了。这本质上就是很多很多logistic regression 并联在一起。
为了方便使用,做以下设计:F--->0/1。很好理解,某个标签和某个样本维度要么有关要么无关,至于最后会是多少由权重调节。


这里是为一个词进行词性判别,A1~A4是和名词判别有关的Function这里的B(名词)就应该全部取1,选通A1~A4,屏蔽其他
A5~A8可能会是和动词有关的判别了,如果y=动词 被选通,则屏蔽和名词,形容词等有关的判别。
机器学习 —— log-linear 模型的更多相关文章
- (转)看穿机器学习(W-GAN模型)的黑箱
本文转自:http://www.360doc.com/content/17/0212/11/35919193_628410589.shtml# 看穿机器学习(W-GAN模型)的黑箱 201 ...
- 机器学习---最小二乘线性回归模型的5个基本假设(Machine Learning Least Squares Linear Regression Assumptions)
在之前的文章<机器学习---线性回归(Machine Learning Linear Regression)>中说到,使用最小二乘回归模型需要满足一些假设条件.但是这些假设条件却往往是人们 ...
- Spark机器学习5·回归模型(pyspark)
分类模型的预测目标是:类别编号 回归模型的预测目标是:实数变量 回归模型种类 线性模型 最小二乘回归模型 应用L2正则化时--岭回归(ridge regression) 应用L1正则化时--LASSO ...
- 机器学习 | 从加法模型讲到GBDT算法
作者:JSong, 日期:2017.10.10 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,常可获得比单一学习器显著优越的泛化性能,这对"弱学习器& ...
- Spark机器学习7·降维模型(scala&python)
PCA(主成分分析法,Principal Components Analysis) SVD(奇异值分解法,Singular Value Decomposition) http://vis-www.cs ...
- [机器学习]Generalized Linear Model
最近一直在回顾linear regression model和logistic regression model,但对其中的一些问题都很疑惑不解,知道我看到广义线性模型即Generalized Lin ...
- 【Model Log】模型评估指标可视化,自动画Loss、Accuracy曲线图工具,无需人工参与!
1. Model Log 介绍 Model Log 是一款基于 Python3 的轻量级机器学习(Machine Learning).深度学习(Deep Learning)模型训练评估指标可视化工具, ...
- 机器学习 1 linear regression 作业(二)
这个线性回归的作业需要上传到https://inclass.kaggle.com/c/ml2016-pm2-5-prediction 上面,这是一个kaggle比赛的网站.第一次接触听说这个东西,恰好 ...
- 机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普
今天看到这篇文章里面提到如何选择模型,觉得非常好,单独写在这里. 更多的机器学习实战可以看这篇文章:http://www.cnblogs.com/charlesblc/p/6159187.html 另 ...
- 偏差(Bias)和方差(Variance)——机器学习中的模型选择zz
模型性能的度量 在监督学习中,已知样本 ,要求拟合出一个模型(函数),其预测值与样本实际值的误差最小. 考虑到样本数据其实是采样,并不是真实值本身,假设真实模型(函数)是,则采样值,其中代表噪音,其均 ...
随机推荐
- 使用IO流创建文件并写入数据
/* 字符流和字节流: 字节流两个基类: InputStream OutputStream 字符流两个基类: Reader Writer 既然IO流是用于操作数据的, 那么数据的最常见体现形式是:文件 ...
- scanf gets fgets区别与联系 puts fputs printf区别与联系
组一:scanf( )函数 gets( )函数 fgets()函数都可用于输入字符串, 组二:printf( )函数 puts( )函数 fputs()函数则用于字符串的输出. 两组内部函数各有 ...
- 关于IOS中的delegate必须知道的事情
当你开始写iOS程式不久,应该开始面对到很多的delegate, 不管是用别人的library或是自己写library,可能都逃不了delegate. 为了怕有些人不知道什么是delegate,在这边 ...
- css的display属性小实验
div与span是常用的盒子模型; 区别: div默认是垂直分布(独占一行) span默认是水平分布(一行可以有多个) 通过float属性可以改变div容器的分布方式达到span容器的效果; 下面 ...
- Careercup - Facebook面试题 - 6139456847347712
2014-05-01 01:50 题目链接 原题: Microsoft Excel numbers cells ... and after that AA, AB.... AAA, AAB...ZZZ ...
- OpenLayers中的Layer概念和实践--Openlayers调用WMS服务
整理转自:http://hi.baidu.com/lixuweiok/item/c406a4e6a6d390e7fa42ba4b 本章我认为是这本书的真正开端,终于开始讲一些有意思的东西了.. 在这一 ...
- C# memcache
概述 memcache是一套开放源的分布式高速缓存系统.由服务端和客户端组成,以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作.memcache主要把数据对象缓存到内存中, ...
- 导致Asp.Net站点重启的10个原因 ,记录重启原因
Asp.Net站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致Asp.Net站点重启的10个原因 1. 回收应用程序池会导致站点重启,记录的原因是: HostingE ...
- Mac和iOS开发资源汇总
小引 本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按command+D). 今天(2013年7月19日)收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大 ...
- Unity3d 模型导入选项