这篇文章主要讲使用 TensorFlow 进行 Logistic Regression 训练。
本文要解决的问题是使用逻辑回归解决一个二分类问题,即给定了人口普查的数据如人的年龄,性别,教育程度和职业,来预测一个人的年收入是否超过5万美元,如果超过则输出1,否则输出0。
1. 模型简介
下面先简单看一下本模型的logistic regression定义。
b是我们模型的bias,是一个常量。wi是与xi密切相关的一个量,反映了xi与label的相关性,如果xi与label是正相关的,那么wi就会增加,P(Y=1| X)的概率就会接近1,反之,则会接近0。再来看logistic 函数,它是一个sigmoid函数,
这个函数的作用是将上面的线性模型转换到 [0-1] 的区间,其实也就是一个概率值。最终的目标是求出一组有效的w来使得代价函数最小。
2. 数据基本结构
接着再来看本文所使用的数据,数据的结构如下:
Column Name | Type | Description |
---|---|---|
age | Continuous | The age of the individual |
workclass | Categorical | The type of employer the individual has (government, military, private, etc.). |
fnlwgt | Continuous | The number of people the census takers believe that observation represents (sample weight). This variable will not be used. |
education | Categorical | The highest level of education achieved for that indivi |