您的位置:首页 > 其它

【机器学习实战】极大似然法

2016-03-21 00:00 190 查看
http://baike.baidu.com/link?url=3Ej1VIItwWd35sXeoRWRhcJkJLCFvzPzNIoTkAfai8ZIS4Ppcch4_maQ25FjNCU1Eplsp4k3oPKLyv6VIsPhsq

一、

最大似然法是一种具有理论性的点估计法,基本思想是,当从模型总体随机抽取N组样本观测值后,最合理的参数估计量应该使得从模型中抽取N组样本观测值的概率最大。

二、

离散型:

假如一个罐子,里面有黑白两种颜色的球,数目不知,比例不知。我们想知道罐中黑白比例。不能把全部拿出。我们随机取出一个球,并记录颜色。若100此实验,70次白球。

设白球比例为P,则黑球为1-P。

P(Xi|M) = P(x1,x2,x3,...,x100 | M) = P(x1|M) * P(x2|M) * ... * P(x100|M) = P^70 * (1-P)^30

求Max{P^70 * (1-P)^30} ==> 对P求导=0

70*P^69*(1-P)^30 + P^70 * [-(1-P)^29 * 30] = 0 ===> P= 0.7

连续型:X~N(a,b^2)(正态分布);a,b是未知参数,x1,x2,x3....xn来自X的一个样本值。求a,b的极大似然估计值

X的概率密度函数为:

f(x;a,b^2) = 1/Math.sqrt(2*pi)*b * e^{-1 / 2b^2 * (x-a)^2}

似然函数为:

L(a,b^2)=∏1/Math.sqrt(2*pi)*b * e^{-1 / 2b^2 * (x-a)^2}

求对数

lnL(a,b^2) = ln{1/Math.sqrt(2*pi)*b * e^{-1 / 2b^2 * (x1-a)^2}} + ... + ln{1/Math.sqrt(2*pi)*b * e^{-1 / 2b^2 * (xn-a)^2}}

==>n*(0-1/2 * ln(Math.sqrt(2*pi) * b)^2) + -1/(2b^2) * (x-a)^2

==>n*(0-1/2*ln2pi -1/2lnb^2) - 1/(2b^2) * ∑(xi-a)^2

==>-n/2*ln2pi - n/2 * lnb^2 - 1/(2b^2) * ∑(xi-a)^2

求偏导

lnL(a,b^2) 对a求偏导==> - 1/(2b^2) * 和(xi - a) * 2 * (-1) = 0 ==> ∑(xi - a) = 0 ==> 和xi = na ==>a=∑xi/n ==> 即a 等于 x样本的均值

lnL(a,b^2) 对b^2求偏导==> -n / (2b^2) - ∑(xi-a)^2 * (-1) * 1/(2b^2)^2 = 0 ==> n*b^2 - ∑(xi-a)^2 =0 ==> b^2 = 1/n * ∑(xi-a)^2

三、逻辑回归

逻辑函数:

g(z) = 1 / (1+e^(-z))

估计函数:

h(x) = g(theta^T * x) = 1 / [1 + e^(-theta^T * x)]

由于二值分类很像二项分布。

P(y=1|x;theta) = h(x)

P(y=0|x;theta) = 1 - h(x)

===> 由上式推导成一般表达式:

P(y|x;theta) = [h(x)]^y * [1- h(x)]^(1-y)

验证 y = 0 => P(y=0|x;theta) = [h(x)]^0 * [1- h(x)]^(1-0) = 1 * [1 - h(x)] = 1 - h(x)

验证 y = 1 => P(y=1|x;theta) = [h(x)]^1 * [1- h(x)]^(1-1) = h(x) * 1 = h(x)

似然估计函数:

L(theta) = ∏ P(y|x;theta) = ∏ [h(x)]^y * [1- h(x)]^(1-y)

求对数

ln L(theta) = ∑{y*lnh(x) + (1-y)ln[1-h(x)]}

采用梯度上升法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: