(ロジスティック回帰のロジスティック回帰分類アルゴリズム

(ロジスティック回帰)のロジスティック回帰分類アルゴリズム

1.バイナリ分類

今の病院があり、あなたは1が良性\悪性腫瘍で判断された患者の状態を、分析する、データセットの数は、腫瘍の大きさ程度存在している、タスクは、腫瘍の大きさに応じて決定すべきである良性または悪性です。これは、(通常番号0と1で表される)、良性と悪性の2つのみの出力値の結果である典型的な2クラス問題、----です。5以下、良性である(出力0); 1、我々は、腫瘍サイズの視覚的決意が(出力1)、すなわち悪心腫瘍、5よりも大きいことができます。

図1

2.問題の性質の分類

コンピュータのデータを予測することができるようにすることを、基本的に分類を知られているデータの特定のセットのための教師あり学習の分類に属し、その後、データセット分類アルゴリズムの学習を通じてコン​​ピュータをしましょう。例の腫瘍は、既存のデータは、現在、患者の状態を診断するために、図1に示すセット、コンピュータのみ患者および5を比較して、腫瘍の大きさが必要であり、それは次に、悪性推測することができ、または良性。分類と回帰の問題は、いくつかの類似点を持っている別の出力値を除いて、学習データセットの結果を予測することは不明です。回帰出力値が連続値(例えば住宅価格)、離散値の分類の出力値(例えば、悪性または良性)です。分類と回帰の問題はいくつかの類似点を持っているので、我々はそれのリターンに基づいて分類することができませんか?答えはイエスです。一つの可能​​性のあるアイデアは、線形近似を使用することで、その後、定量化するための線形近似の予測結果値は、離散的な値に量子化連続値についてです。

3.分類の機能を引き受けます

分類と回帰の問題は、いくつかの類似のを持っているが、我々は直接分類問題仮説の関数として回帰仮定機能を使用することはできませんが。。私たちは、単純な線形関数を(すなわち、使用している場合や一例として、図1の例では、\(H(X)= \ theta_0 + \ theta_1x \) $ H_ \シータ(X:フィットに)、結果はこのようなことができ)= \ dfrac {5} { 33} X- \ FRAC {1}、{3} $、 画像に反映されます。

図2

这样,你可能会做这样的一个判断:对于这个线性拟合的假设函数,给定一个肿瘤的大小,只要将其带入假设函数,并将其输出值和0.5进行比较,如果大于0.5,就输出1;小于0.5,就输出0。在图1的数据集中,这种方法确实可以。但是如果将数据集更改一下,如图3所示,此时线性拟合的结果就会有所不同:

図3

如果采用相同的方法,那么就会把大小为6的情况进行误判为良好。所以,我们不能单纯地通过将线性拟合的输出值与某一个阈值进行比较这种方式来进行量化。对于逻辑回归,我们的量化函数为Sigmoid函数(也称Logistic函数,S函数)。其数学表达式为:\(S(x) = \dfrac{1}{1+e^{-x}}\) ,其图像如图4:

図4

可以看到S函数的输出值就是0和1,在逻辑回归中,我们采用S函数来对线性拟合的输出值进行量化,所以逻辑回归的假设函数为:

\[h_\theta(x)=\dfrac{1}{1+e^{-\theta^Tx}}=\dfrac{1}{1+e^{-\sum_{i=0}^n\theta_ix_i}} \tag{3.1}\]

其中,\(x\)为增广特征向量(1*(n+1)维),\(\theta\)为增广权向量(1*(n+1)维)。这个假设函数所表示的数学含义是:对于特定的样本\(x\)与参数矩阵\(\theta\),分类为1的概率(假设y只有0和1两类),也就即\(h_\theta(x) = P(y=1|x;\theta)\)。根据其数学意义,我们可以这样认为:如果\(h_\theta(x)>0.5\),则判定y = 1;如果\(h_\theta(x)<0.5\),则判定y = 0。

4.逻辑回归的代价函数(Cost Function)

代价函数(成本函数),也就是损失函数。在逻辑回归中,代价函数并不是采用均方误差(主要原因是,逻辑回归的均方误差并不是一个凸函数,并不方便使用梯度下降法),而是通过极大似然法求解出来的一个函数,其数学表达式为:

\[J(\theta)= \dfrac{1}{m}\sum_{i=1}^m[-yln(h_\theta(x))-(1-y)ln(1-h_\theta(x))] \tag{4.1}\]

这个函数看起来有点复杂,我们将它一步步进行拆分来理解,我们将每个样本点与假设函数之间的误差记为\(Cost(h_\theta(x),y)=-yln(h_\theta(x))-(1-y)ln(1-h_\theta(x))\),这样代价函数就可以理解为误差的均值。下面我们再详细看一下这个误差函数,由于y的取值只能是0或者1,我们可以将误差函数写成分段函数的形式:

\[Cost(h_\theta(x),y)=\begin{cases} -ln(h_\theta(x)),\quad &y = 1 \\ -(1-y)ln(1-h_\theta(x)), &y=0 \end{cases} \tag{4.2}\]

4.2式和4.1式是等价的,依据4.2式,不难得出:当y=1时,如果判定为y=1(即\(h_\theta(x) = 1\)),误差为0;如果误判为y=0(\(即h_\theta(x) = 0\)),误差将会是正无穷大。当y=0时,如果判定为y=0(即\(h_\theta(x) = 0\)),误差为0;如果误判为y=1(即\(h_\theta(x) = 1\)),误差将会是正无穷大。(注意:\(h_\theta(x) = 1\)表示y等于1的概率为1,等价于认为y=1;\(h_\theta(x) = 0\)表示y等于1的概率为0,等价于认为y=0)

如果用矩阵来表示代价函数,就是:

\[J(\theta)=-\dfrac{1}{m}Y^Tln(h_\theta(X))-(E-Y)^Tln(E-h_\theta(X)) \tag{4.3}\]

其中\(Y\)为样本真实值组成的列向量(m*1维),\(X\)为增广样本矩阵((1+n)*m维),E为全1列向量(m*1维)。

5.逻辑回归使用梯度下降法

逻辑回归的代价函数和线性回归的损失函数一样,都是凸函数,所以我们可以采用梯度下降法来求参数矩阵\(\theta\)使得代价函数\(J(\theta)\)取得最小值。其具体算法与线性回归中的梯度下降法(可以参考我的另一篇博客线性回归之梯度下降法)并没有太大区别,只是对应的偏导有所不同。逻辑回归的代价函数的偏导为:

\[\dfrac{\partial J(\theta)}{\theta_i} = \dfrac{1}{m}\sum_{j=1}^m(h_\theta(x^{(j)})-y^{(j)})x_i^{(j)} = \dfrac{1}{m}\sum_{j=1}^m(\dfrac{1}{1+e^{-\sum_{i=0}^n\theta_ix_i^{(j)}}}-y^{(j)})x_i^{(j)}\quad (i=0,1,\dots,n)\tag{5.1}\]

对应的参数更新规则为:

\[\theta_i = \theta_i-\alpha\dfrac{\partial J(\theta)}{\theta_i} = \theta_i-\alpha\dfrac{1}{m}\sum_{j=1}^m(h_\theta(x^{(j)})-y^{(j)})x_i^{(j)}\quad (i=0,1,\dots,n)\tag{5.2}\]

如果用矩阵表示就是:

\[\dfrac{\partial J(\theta)}{\theta} = \dfrac{1}{m}X^T(h_\theta(X)-Y),\quad \theta=\theta-\alpha\dfrac{1}{m}X^T(h_\theta(X)-Y) \tag{5.3}\]

其中,\(\alpha\)为迭代步长。

6.多元逻辑回归

多変量ロジスティック回帰分析のために、一つの可能なアイデアは、そのバイナリを簡素化することです。例えば、分類データセットは1,2,3三つのカテゴリーを含む場合。あなたは今、試料がクラス1でないかどうかを確認したい場合は、私たちは、クラス1のために取得できるように、データ型----すなわち、クラス1および非クラス1(クラス2とクラス3)のセットとして見ることができます仮説関数\({H ^(1)} _ \シータ(X)\) ならびに共感\(H ^ {(2) } _ \シータ(X)\) と\(H ^ {(3 )} _ \シータ(X)\) だから、私たちの決定ルールはなること:

\ [\クワッド最大\ {H ^ {(I)} _ \シータ(X)\} = H ^ {(J)} _ \シータ(X)、次いで\クワッドY = J \クワッド(I、Jもし= 1,2,3)\タグ{6.1} \]

7.まとめ

単語の「復帰」とロジスティック回帰が、実際にはそれが分類アルゴリズムです。ロジスティック回帰の考え方やパターン認識判別関数は、2つの学習を組み合わせることができ、非常によく似ています。

参考リンク:

ロジスティック回帰原則の概要

おすすめ

転載: www.cnblogs.com/liyier/p/11823772.html