邏輯迴歸
TensorFlow | Keras |
---|
python & mathematics
邏輯迴歸主要用於二分類問題,也就是解決是或不是等的一般疑問句問題。
之所以能夠區別於線性迴歸這樣的解決連續性解得問題主要在於邏輯迴歸採用了一個特殊的函數Sigmoid
所以這個激活函數能夠把值規定在0-1之間,這就相當於給出了一個概率值。給出的因變量數越大,其概率越大。
一般來說我們也常常給出假設函數:
由於存在激活函數最終的模型應該再加了一層:
進行迴歸問題其實就是調整變量()的值,使得誤差最小。
那麼誤差應該如何表示?(假設值與實際值的差?差的平方?)
對於邏輯迴歸來說,最常用的應該是交叉熵(CrossEntropy)
優化器可以用梯度下降或者其他的皆可
def build_model():
#此處只進行了簡單的單向節點連接,並未增加大量變量
model = keras.Sequential([
layers.Dense(1, activation=tf.nn.sigmoid, input_shape=[len(train_dataset.keys())], use_bias = True)
])
model.compile(loss='binary_crossentropy',
optimizer="Adam",
metrics=['accarency'])
return model
關於邏輯迴歸的相關詳細數學理論:
http://cs229.stanford.edu/summer2019/cs229-notes1.pdf