白话机器学习算法(二十一)logistic回归

来源:互联网 发布:青峰网络招聘 编辑:程序博客网 时间:2024/05/16 16:13

我们知道最简单的线性回归 y=f(x)=wx+b,表示随着x的变化,y会随着变化,而且是确定的,即一对一的映射,x到y的映射

现在有一组<性别,是否有胡须>,我们实际上不好确定的说,男生就一定长胡须,女生就一定不长胡须,最好的办法是,知道了性别是男生后,我们可以认为,长胡须的概率比较大。反正如果知道了女生,那么长胡须的概率比较小。这样子的模型才适合真实情况。

我们希望一个概率模型,这个模型就是logistic回归模型,我们假定一个这样的概率模型,

p(y=1|x)=1/(1+exp(f(x)))

f(x)=wx+b

这个模型是分两步的,

首先x到f(x)的映射,然后f(x)到p(y=1|x)

给定训练数据集,我们可以实际得到p(y=1|x)的统计值,这个跟贝叶斯里面是一样的,

对于如下的式子

p(y=1|x)=1/(1+exp(f(x)))

问题就转化成知道左边,知道右边方程的形式,也知道x,就是不知道w和b,就变成了一个参数估计的问题了,怎么求呢?问题就变成了一个最小二乘法估计的问题。

 

前面的描述一定有一个问题,就是这个模型好像是凭空得来的,是不是所有的数据都可以用这个方法去拟合,去计算?

当然不是所有,但是现实生活中的大部分可以,logistic经过三个过程,平缓,快速,平缓,这种模型在经济上,是非常常见的,另外举个关于人的幸福感随着收入,家庭和睦,父母健康程度,朋友数目,等等这些因素变化的例子,研究表明,尽管后面因素的增加,会增加幸福感,但是不是纯线性递增,增长有慢有缓。

 

另外一个逻辑回归的自变量是整个实数域,因变量是离散的,这点与分类有所区别。基本上对于属性连续型我们可以用回归,属性离散的可以用分类。



数据挖掘,机器学习的算法非常多,但是不是拿来就用,应该首先了解算法的特性,使用范围,再看数据来源,什么特点,这个算法是否符合这种数据,再决定使用哪种模型

比如聚类算法数十中,基于图的,基于概率的,基于神经网络模型的,等等,但是有的算法适合小数据,有的要求计算矩阵特征值,有的是多次迭代,不同的算法有不同的应用范围,原理不同,精确度也不同,计算复杂度也不同,对于数十上百万的样本集合,其实可选的模型并不多,这就要对数据了解,对模型了解.

 

 

 

0 0
原创粉丝点击