简介

有别于分类问题,回归问题,主要是通过特征来构造一个函数,并用这个函数求得的值来近似的估计我们需要预测的值。回归的种类有很多,当然我一时之间不能够完全的总结出所有的回归分析方法,但是我们在以后的学习中慢慢的补充。作为一个初学者,以下的总结可能有一些个人的误区,所以如果出现什么错误的话,我希望各个读者能够指出,在此,我感激不尽。

线性回归

基本概念

看过我关于对感知器算法的介绍的读者,可能知道,我在感知器那篇blog里,对threshold进行了一些处理。在那里,我把-threshold作为 w0 <script type="math/tex" id="MathJax-Element-626">w_0</script>,1作为 x0 <script type="math/tex" id="MathJax-Element-627">x_0</script>,所以我们就可以把threshold这个单独的一项放到wx中。在这里线性回归的基本形式如下:

f(x)=wTx+b
<script type="math/tex; mode=display" id="MathJax-Element-628">f(x)=w^Tx+b</script>
w,x都是向量。同理,根据上面的介绍,我们可以把b这个单独的一项放到 wTx <script type="math/tex" id="MathJax-Element-629">w^Tx</script>中去。因此,
y=i0dwixi=wTx
<script type="math/tex; mode=display" id="MathJax-Element-630">y = \sum_{i-0}^dw_ix_i=w^Tx</script>
线性回归我们可以把它理解为多维空间找到一个函数来对给出的数据进行拟合。然后利用这个函数对数据进行预测。(find lines/hyperplanes with small residuals)

Error Function

线性回归的定义我们已经知道了,但是我们如果确定我们学习到的回归模型是适合的。在机器学习中,我们可以通过一种错误函数来对模型进行判定。比如说,在线性回归中,我们可以把预测值与观察值的的平方和作为评价函数。当然在实际定义中,我们加上了求平均的步骤。该函数定义如下:

Ein(w)=1Ni=1N(h(xi)yi)2
<script type="math/tex; mode=display" id="MathJax-Element-2433">E_{in}(w)=\frac{1}{N}\sum_{i=1}^N(h(x_i)-y_i)^2</script>
其中, h(x)=wTx <script type="math/tex" id="MathJax-Element-2434">h(x)=w^Tx</script>.
我们对上面的式子进行一下简单的处理。
Ein(w)=1NNn=1(wTxnyn)2=1NNn=1(xTnwyn)2 <script type="math/tex" id="MathJax-Element-2435">E_{in}(w)=\frac{1}{N}\sum_{n=1}^N(w^Tx_n-y_n)^2=\frac{1}{N}\sum_{n=1}^N(x_n^Tw-y_n)^2</script>
=1NxT1wy1xT2wy2...xT3wy32 <script type="math/tex" id="MathJax-Element-2436">=\frac{1}{N}\left| \begin{matrix} x_1^Tw-y_1 \\ x_2^Tw-y_2 \\ ... \\ x_3^Tw-y_3 \end{matrix} \right|^2 </script>
=xT1xT2...xTNwy1y2...yN2 <script type="math/tex" id="MathJax-Element-2437">=\left|\left[ \begin{matrix} x_1^T \\ x_2^T \\ ... \\ x_N^T \end{matrix} \right]w-\left[\begin{matrix}y_1\\y_2\\...\\y_N\end{matrix}\right]\right|^2 </script>
=1Nxwy2 <script type="math/tex" id="MathJax-Element-2438">=\frac{1}{N}\left\|xw-y\right\|^2</script>

因此,最适合的模型就是当error function值最小的时候。即求

minEin(w)=1Nxwy2
<script type="math/tex; mode=display" id="MathJax-Element-2439">minE_{in}(w)=\frac{1}{N}\left\|xw-y\right\|^2</script>

求解

对于上面函数的求解,我们知道,对于未知数w,该方程是成U型的,因此只要求出导数为零时的值,就可以求出该函数最小值的解。
因此对上面的函数求导可得:

Ein(w)=2N(xTxwxTy)
<script type="math/tex; mode=display" id="MathJax-Element-2564">\nabla E_{in}(w)=\frac{2}{N}(x^Txw-x^Ty)</script>
所以当 xTx <script type="math/tex" id="MathJax-Element-2565">x^Tx</script>可逆时,可得 w=(xTx)1xTx+y <script type="math/tex" id="MathJax-Element-2566">w=\underbrace{(x^Tx)^{-1}x^T}_{x^+}y</script>

linear regression algorithm

<script type="math/tex" id="MathJax-Element-2938">\ast</script> 从初始的数据中构造出输入矩阵X以及输出向量Y。
x=xT1xT2...xTN <script type="math/tex" id="MathJax-Element-2939">x= \left[\begin{matrix} x_1^T\\ x_2^T\\ ...\\ x_N^T \end{matrix}\right] </script>
y=y1y2...yN <script type="math/tex" id="MathJax-Element-2940">y= \left[\begin{matrix} y_1\\ y_2\\ ...\\ y_N \end{matrix}\right] </script>
<script type="math/tex" id="MathJax-Element-2941">\ast</script> 计算出 x+ <script type="math/tex" id="MathJax-Element-2942">x^+</script>的值
<script type="math/tex" id="MathJax-Element-2943">\ast</script> 返回 w=x+y <script type="math/tex" id="MathJax-Element-2944">w=x^+y</script>

逻辑回归

后续有待补充。。。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐