首先来看一些基本概念
1.概率:
1.1 定义:概率(P)probability:对一件事情发生的可能性的衡量
1.2 范围:0<=P<=1
1.3 计算方法:
1.3.1 根据个人置信
1.3.2 根据历史数据
1.3.3 根据模拟数据
1.4 条件概率:
2. Logistic Regression(逻辑回归)
2.1 例子
如上图所示,假设现在有一些肿瘤数据,单一变量x表示肿瘤大小,另一组变量表示肿瘤是恶性还是良性的,恶性为1,良性为0,收集八个病人肿瘤数据,上图表示上面四个为恶性,下面四个为良性。为了区分这组数据我们以0.5为界限,大于0.5为恶性,小于0.5为良性。看起来我们用线性回归的方式也可以分析这组数据,但是如果再引入一组病人数据呢?
如上图所示,我们引入了第九个病人的数据,肿瘤尺寸很大,应该是恶性的,现在的情况是调整阈值为0.2比较合理,大于0.2为恶性,小于0.2为良性。
但是我们不能随时调整阈值,所以这种情况下单纯使用线性模型是不合理的。
2.2 基本模型
测试数据为X()
要学习的参数为:
建立方程式:
向量表示:
处理二值数据,引入sigmoid函数时曲线平滑化
现在就形成了我们要讨论的logistic regression方程,函数图像如下:
预测函数:
也可以用概率表示:
正例(y=1):
反例(y=0):
ok,现在我们可以构造出Cost函数2.3 Cost函数
首先来回顾一下线性回归:
如上图所示,有一些散落的点,我们用线性回归的方法对它们进行分类,目标函数:
将以上式子最小化,来找到最优分界线,上面函数其实就对应于我们之前的函数:
找到合适的参数使上式最小
Logistic Regression:
Cost函数:
可以把以上两个方程合并为一个Cost方程:
目标:找到合适的参数,使上式最小
用对数是因为对数有很多非常友好的性质,比如对数可以把乘积转化为加减法,对数是单调的,我们对对数最大最小化与对原函数最大最小化是一样的,但是对数的运算会比较简单。
2.4 解法:梯度下降(gradient decent)
这个算法很难,我也没学会,┭┮﹏┭┮,大概就是通过求导数和偏导这些,在第一张图上面找到最低点对应的参数吧,也相当于等高线,对每一个点求导数,通过一定的更新法则不断地找最低点书面表示法:
通过一定的运算我们得到如下的更新法则:
α:学习率
同时对所有的参数进行更新,重复更新直到收敛