2016-06-16 28 views
0

我正在關注一個TensorFlow示例,它將一些功能(房地產相關)和「昂貴」(即房價)作爲二元目標。線性分類可以採用非二元目標嗎?

我在想,如果目標可能不止一個0或1。比方說,0(不貴),1(昂貴),3(非常昂貴)。

我不認爲這是可能的,因爲邏輯迴歸模型漸近線接近0和1

這可能是一個愚蠢的問題,但我完全陌生的ML。

+0

您沒有提及使用的算法。經典邏輯迴歸和大多數線性分類器僅適用於二元類(有時存在直接多類分類;因此存在支持多類的線性分類器)。基於NN的方法更容易修改爲使用多個類:只需使用最終的softmax層。 – sascha

+0

這是一個很好的問題。我認爲tf.contrib.learn.LinearClassifier會使用邏輯迴歸,但我似乎無法找到它的記錄。我錯過了什麼嗎? –

+0

那麼,我讀的第一個文檔類似的東西[這裏](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard1/tf.contrib.learn.LinearClassifier .md)準備好接受多個課程。 – sascha

回答

0

我想我自己找到了答案。從Wikipedia

首先,條件分佈y | x是伯努利分佈而不是高斯分佈,因爲因變量是二元的。其次,預測值是概率,因此通過邏輯分佈函數將其限制爲(0,1),因爲邏輯迴歸預測了特定結果的可能性。

+0

那麼也有[多類Logistic迴歸](https://en.wikipedia.org/wiki/Multinomial_logistic_regression)。這些名字有點刺激。你提到的TF中的算法使用邏輯損失函數,但也支持多類(用於某些學習算法),但我不確定它是如何工作的。我沒有找到softmax層,但我不是TF用戶。 – sascha

0

邏輯迴歸二元分類任務定義。(有關詳細信息,請logistic_regression。對於多類分類問題,你可以使用SOFTMAX分類算法。以下教程演示瞭如何寫一個使用SoftMax量詞Tensorflow庫。

Softmax_Regression in Tensorflow

但是,你的數據集是線性不可分離(這個最的時間是在現實世界的數據集的情況下),你必須使用一種算法,它可以處理非線性的決策邊界。算法如神經網絡或帶核心的支持向量機將是一件好事選擇。繼IPython筆記本展示如何在Tensorflow中創建簡單的神經網絡。

Neural Network in Tensorflow

祝您好運!