1. 概率

1.1 定义:概率(Probability):对一件事情发生的可能性的衡量。

1.2 范围:0 <= P <= 1

1.3 计算方法:

1.3.1 根据个人置信

1.3.2 根据历史数据

1.3.3 根据模拟数据

1.4 条件概率:

2. Logistic Regression(逻辑回归)

2.1 列子:模拟癌症肿瘤是良性还是恶性

h(x) > 0.5

h(x) > 0.2

2.2 基本模型

测试数据为:

要学习的参数为:

向量表示:

由于y取值在[0,1]之间,所有需要处理二值数据,引入Sigmoid函数来使得曲线平滑化

预测函数:

用概率表示:

正例(y = 1):

反例(y = 0):

2.3 Cost函数

线性回归:

(预测值-实例值)

(类似于线性模型)

在简单线性模型中找到合适的使得上式最小

Logistic regression:

Cost函数:

上式合并可以得到下面的式子

目标:找到合适的使得上式最小

2.4 解法:梯度下降法(gradient decent)

为学习率

更新法则:

为学习率

同时对所有的进行更新,重复更新知道收敛

# -*- coding:utf-8 -*-

import numpy as np
import random #产生模拟数据 numPoints实例个数 bias偏好值 variance方差
def genData(numPoints, bias, variance):
x = np.zeros(shape=(numPoints, 2))
y = np.zeros(shape=(numPoints)) #1行 如:1x100
for i in range(0, numPoints):#每一行循环
x[i][0] = 0 #每行第一列等于1
x[i][1] = i #每行第二列等于i
y[i] = (i + bias) + random.uniform(0, 1) + variance
return x,y #梯度下降
def gradientDescent(x, y, theta, alpha, m, numIterations): #alpha学习率 m实例个数 numIterations更新次数
xTran = np.transpose(x)#转置
for i in range(numIterations):
hypothesis = np.dot(x, theta)#估计值
loss = hypothesis - y#估计值-实际值
cost = np.sum(loss**2)/(2*m)#这里的定义最简单的cost函数和实际定义有出入
gradient = np.dot(xTran,loss)/m#更新量
theta = theta - alpha*gradient
print("Iteration %d | cost: %f" %(i, cost))
return theta #测试
x, y = genData(100, 25, 10)
# print("x:")
# print(x)
# print("y:")
# print(y)
#
m, n = np.shape(x)
n_y = np.shape(y)
#
# print("x_shape:" ,str(m)," ",str(n))
# print("y_shape:" , str(n_y)) numIterations = 100000
alpha = 0.0005
theta = np.ones(n)
theta = gradientDescent(x, y, theta, alpha, m, numIterations)
print(theta)

  

机器学习-非线性回归(Logistic Regression)及应用的更多相关文章

  1. 【机器学习】Logistic Regression 的前世今生(理论篇)

    Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请 ...

  2. Python机器学习笔记 Logistic Regression

    Logistic回归公式推导和代码实现 1,引言 logistic回归是机器学习中最常用最经典的分类方法之一,有人称之为逻辑回归或者逻辑斯蒂回归.虽然他称为回归模型,但是却处理的是分类问题,这主要是因 ...

  3. 【模式识别与机器学习】——logistic regression

    虽然叫做“回归”,但是这个算法是用来解决分类问题的.回归与分类的区别在于:回归所预测的目标量的取值是连续的(例如房屋的价格):而分类所预测的目标变量的取值是离散的(例如判断邮件是否为垃圾邮件).当然, ...

  4. 在opencv3中实现机器学习之:利用逻辑斯谛回归(logistic regression)分类

    logistic regression,注意这个单词logistic ,并不是逻辑(logic)的意思,音译过来应该是逻辑斯谛回归,或者直接叫logistic回归,并不是什么逻辑回归.大部分人都叫成逻 ...

  5. Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization

    原文:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  6. 机器学习总结之逻辑回归Logistic Regression

    机器学习总结之逻辑回归Logistic Regression 逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法.简单的说回归问题和分类问题如下: 回归问 ...

  7. 机器学习入门11 - 逻辑回归 (Logistic Regression)

    原文链接:https://developers.google.com/machine-learning/crash-course/logistic-regression/ 逻辑回归会生成一个介于 0 ...

  8. 李宏毅机器学习笔记3:Classification、Logistic Regression

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  9. 【机器学习】逻辑回归(Logistic Regression)

    注:最近开始学习<人工智能>选修课,老师提纲挈领的介绍了一番,听完课只了解了个大概,剩下的细节只能自己继续摸索. 从本质上讲:机器学习就是一个模型对外界的刺激(训练样本)做出反应,趋利避害 ...

随机推荐

  1. Struts2理解?

    (1)Struts2是一个基于MVC设计模式的Web应用框架,在MVC设计模式中Struts2作为控制器(Controller)来建立模型与视图的数据交互. Struts 2以WebWork为核心,采 ...

  2. 获取<a>标签值</a>的标签值及更改

    html代码: <a id="catelogue_div1_h5" onclick="catelogue_div1(event)">隐藏</a ...

  3. 【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)

    目录 Logistic回归原理 Logistic回归代码(Spark Python) Logistic回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7890468 ...

  4. ControlTemplate in WPF —— DatePicker

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  5. RabbitMQ问题解决

    1.访问http://localhost:15672/#/,输入用户名.密码登录报错500 解决方法:在快捷程序处找到RabbitMQ Service -stop停止服务,然后再点击RabbitMQ ...

  6. 人事中的BP是什么意思?

    BP= business partner,指业务伙伴 HR=human resources,指人力资源 HRBP就是人力资源服务经理.主要工作内容是负责公司的人力资源管理政策体系.制度规范在各业务单元 ...

  7. nginx查看并发数量

    cat >> /etc/nginx/conf.d/status.conf << EOF server{ listen ; server_name www.test2.com; ...

  8. 精通CSS:高级Web标准解决方案(第二版) 初读笔记

    2.1 常用的选择器 1. 类型选择器  p { color: black; } 2. 后代选择器  blockquote p { padding-left: 2em; } 3. ID选择器  #in ...

  9. oracle导入导出常见问题及解决方案

    一.导出 1.导出命令     exp 用户名/密码@实例名 file=路径 2.出现问题:空表不能导出, 解决方案:   --查找空表 SELECT TABLE_NAME FROM USER_TAB ...

  10. 【VS开发】【图像处理】ISP图像传感器处理器基础

    1        前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的 ...