zoukankan      html  css  js  c++  java
  • 浅谈linear regression和logistic regression的概率理解

    最近在学习斯坦福的机器学习课程,发现这类人工智能的东西都跟概率统计意义结合紧密,这里就阐述一下自己的理解。

    1.linear regression

    在线性回归中我们是用线性模型ΘTX来拟合feature和target的线性关系的,其中Θ是确定的。但是我们拟合的线性模型并不能完全准确的拟合数据,所以当我们将真实的观测数据带入到模型中会产生误差,我们用y(i)Tx(i) +ε(i)  来表示,误差由于是由多种因素产生,根据中心极限定理以及我们平时对误差的一般假设,都可以将其看做服从期望为0的正态分布,将误差看做随机变量的话,y(i) 也可以看做随机变量,其服从期望为ΘTx(i)的正态分布。

    由于线性回归大多情况下是用来做预测,例如根据房子的大小,设备的齐全性等对其价格做预测(当然这里选择的feature如大小、齐全性在常识下是和价格是呈线性关系的),把线性回归看做系统的话,输入为一个或者多个feature,输出为一个值。我们拥有的是一组已经观测好的样本(x(i),y(i)),我们的目标是通过样本的训练得到一个Θ。那么训练的依据是什么呢?很直观的想法是我们得到的Θ要使ΘTx(i)和y(i)尽量接近,当然就产生了残差的平方和最小作为代价函数。但如果我们从概率去思考,让ΘTx(i)和y(i)尽量接近,也就是让P(y(i)|x(i);Θ)最大,这就是最大似然方法(其实似然和概率在表达式上是一回事,只是关注的变量不同)。至于具体的推导,课程的note上有详细的过程。

    2.logistic regression

    这个逻辑回归才是我比较想谈的问题,相比线性回归它的概率意义要稍微难理解一点,但是核心思想差不多。参考别人写的东西:该回归用于分类,只是在线性回归的结果上使用了一个logistic function对线性的结果进行了映射,使结果在[0,1]内变化。个人认为,按照前面的分析方法,将其看做一个系统,输入也是一个或者多个feature,而输出就两个值(假设只分为两类),0和1,大多数都这样假设,其他任何两个值在理论上都是可以的吧,也就是两个值代表两个类别吧。至于怎样根据给定的样本进行训练,我对note上的写法,一来就搞出来一个伯努利分布,感觉比较突兀,个人能力不够,理解不通。但是我沿袭前面的思考方法,就是调整Θ使得hΘ (x(i))和y(i)接近,有一点不同就是我们的y只有两个值0和1。下面假设我们有两组样本(x(1),1)和(x(2),0),对第一个样本我们就希望hΘ (x(1))尽量大从而接近1,对第二个样本我们希望hΘ (x(2))尽量小接近0(换句话说我们就希望1-hΘ (x(2))尽量大)。写成一个更精练的式子就是,不论对x(1)还是x(2),我们都希望hΘ (x(i))y(i)(1-hΘ (x(i)))1-y(i)尽量大,将我举的两个样本带入就可以化简为能理解的式子,恰好这个式子就是参数为hΘ (x(i))的伯努利分布的概率密度,随机变量为y(i)。接下来同样是使用最大似然来求取theta即可。

    这两种回归都是generalized linear model的特例,东西的理解对我这类小白还是有难度的,在学习过后也争取谈谈自己的理解吧。

  • 相关阅读:
    C# Lambda表达式 (转)
    用C#读取txt文件的方法(转)
    c#中stringbuilder的使用(转)
    c# 日期和时间的获取(转)
    C# List<T>用法 泛型 (转)
    indent format codes
    格式化输入输出 小结
    putty connection manager 一些问题的整理
    linux 网络的一些书籍
    Oracle学习笔记
  • 原文地址:https://www.cnblogs.com/ideawu1001/p/2759425.html
Copyright © 2011-2022 走看看