首页 > 编程语言 >机器学习算法从入门到精通——逻辑回归算法

机器学习算法从入门到精通——逻辑回归算法

时间:2022-11-01 17:02:10浏览次数:42  
标签:精通 概率 入门 回归 样本 逻辑 正类 算法 函数


逻辑回归算法

  • ​​逻辑回归算法​​
  • ​​逻辑回归​​
  • ​​逻辑回归模型​​
  • ​​代价函数​​

逻辑回归算法

逻辑回归

逻辑回归模型

简单来说线性回归就是直接将特征值和其对应的概率进行相乘得到一个结果,逻辑回归则是这样的结果上加上一个逻辑函数,这里选用的就是 Sigmoid 函数。逻辑回归分为二分类和多分类。

假设我们的样本是{x, y},y 是0 或者1,表示正类或者负类,x 是我们的m 维的样本特征向量。那么这个样本x 属于正类,也就是y=1 的“概率”可以通过下面的逻辑函数来表示:

机器学习算法从入门到精通——逻辑回归算法_二分类

这里θ是模型参数,也就是回归系数,σ是 sigmoid 函数。实际上这个函数是由下面的对数几率(也就是 x 属于正类的可能性和负类的可能性的比值的对数)变换得到的:

机器学习算法从入门到精通——逻辑回归算法_机器学习_02

所以说上面的logistic 回归就是一个线性分类模型,它与线性回归的不同点在于:为了将线性回归输出的很大范围的数,例如从负无穷到正无穷,压缩到0 和1 之间,这样的输出值表达为“可能性”才能说服广大民众。当然了,把大值压缩到这个范围还有个很好的好处,就是可以消除特别冒尖的变量的影响(不知道理解的是否正确)。而实现这个伟大的功能其实就只需要平凡一举,也就是在输出加一个 logistic 函数。另外,对于二分类来说,可以简单的认为:如果样本 x 属于正类的概率大于 0.5,那么就判定它是正类,否则就是负类。

机器学习算法从入门到精通——逻辑回归算法_二分类_03


所以说,LogisticRegression 就是一个被logistic 方程归一化后的线性回归,仅此而已。

代价函数

假设我们有n 个独立的训练样本{(x1,y1), (x2,y2),……, (xn,yn)},y={0,1},那每一个观察到的样本(xi,yi)出现的概率是:
机器学习算法从入门到精通——逻辑回归算法_机器学习_04
上面为什么是这样呢?当y=1 的时候,后面那一项是不是没有了,那就只剩下 x 属于 1类的概率,当y=0 的时候,第一项是不是没有了,那就只剩下后面那个 x 属于 0 的概率(1减去x 属于1 的概率)。所以不管 y 是 0 还是1,上面得到的数,都是(x,y)出现的概率。那我们的整个样本集,也就是 n 个独立的样本出现的思然函数为(因为每个样本都是独立的,所以n 个样本出现的概率就是他们各自出现的概率相乘):
机器学习算法从入门到精通——逻辑回归算法_回归_05
那最大似然法就是求模型中使得似然函数最大的系数取值θ*。这个最大似然函数就是我们的代价函数(cost function)了。那代价函数有了,我们下一步要做的就是优化求解了。我们先尝试对上面的代价函数求导,看导数为0 的时候可不可以解出来,也就是有没有解析解,有这个解的时候,就皆大欢喜了,一步到位。如果没有就需要通过迭代了,耗时耗力。 我们先变换下 L(θ):取自然对数,然后化简(不要看到一堆公式就害怕哦,很简单的哦,只需要耐心一点点,自己动手推推就知道了。注:有 xi 的时候,表示它是第i 个样本,下面没有做区分了,相信你的眼睛是雪亮的),得到:
机器学习算法从入门到精通——逻辑回归算法_机器学习_06

这时候,用L(θ)对θ 求导,得到:
机器学习算法从入门到精通——逻辑回归算法_回归_07
然后我们令该导数为 0,你会很失望的发现,但是无法解析求解。只能借助高大上的迭代来搞定了。运用经典的梯度下降算法调整最优参数。


标签:精通,概率,入门,回归,样本,逻辑,正类,算法,函数
From: https://blog.51cto.com/u_13859040/5814502

相关文章