Python学习笔记之逻辑回归

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Wed Apr 22 17:39:19 2015
 4
 5 @author: 90Zeng
 6 """
 7
 8 import numpy
 9 import theano
10 import theano.tensor as T
11 import matplotlib.pyplot as plt
12 rng = numpy.random
13 N = 400 # 400个样本
14 feats = 784 # 每个样本的维度
15 D = (rng.randn(N, feats), rng.randint(size=N, low=0, high=2))
16 training_steps = 10000
17
18 # Declare Theano symbolic variables
19 x = T.dmatrix("x")
20 y = T.dvector("y")
21
22 # 随机初始化权重
23 w = theano.shared(rng.randn(feats), name="w")
24 # 偏置初始化为 0
25 b = theano.shared(0.0, name="b")
26 print "Initial model:"
27 print w.get_value(), b.get_value()
28
29 # Construct Theano expression graph
30 p_1 = 1 / (1 + T.exp(-T.dot(x, w) - b))   # Probability that target = 1
31 prediction = p_1 > 0.5                    # The prediction thresholded
32 xent = -y * T.log(p_1) - (1-y) * T.log(1-p_1) # Cross-entropy loss function
33 lost_avg = xent.mean()
34 cost = xent.mean() + 0.01 * (w ** 2).sum()# The cost to minimize
35 gw, gb = T.grad(cost, [w, b])             # Compute the gradient of the cost
36                                           # (we shall return to this in a
37                                           # following section of this tutorial)
38
39 # Compile
40 train = theano.function(
41     inputs=[x,y],
42     outputs=[prediction, lost_avg],
43     updates=((w, w - 0.1 * gw),(b, b - 0.1 * gb)),
44     )
45 predict=theano.function(
46     inputs=[x],
47     outputs=prediction,
48     )
49
50 # Train
51 err = []
52 for i in range(training_steps):
53     pred, er = train(D[0], D[1])
54     err.append(er)
55
56 print "Final model:"
57 print w.get_value(), b.get_value()
58 print "target values for D:", D[1]
59 print "prediction on D:", predict(D[0])
60
61 # 画出损失函数图
62 x = range(1000)
63 plt.plot(x,err[0:1000])

损失函数随着迭代次数变化,运行结果:

时间: 2024-10-09 01:09:35

Python学习笔记之逻辑回归的相关文章

统计学习笔记之逻辑回归

在分类的问题中,要预测的变量y经常是离散的,如需要预测是正确还是错误,这是一种最基本的二分类.当然,逻辑回归也可以进行多分类,有一种简单的方法是,将其中一类标记为正类,剩余类标记为负类,可以得到正类,再讲另外一个类标记为正类,重复进行既可得到多分类的结果. LR的常规步骤: 1.寻找假设函数 2.构造损失函数 3.使损失函数最小,并求得回归参数 对于二分类,输出标记为,而线性回归模型产生的预测值是实值,于是我们要将转换为0/1值.最理想的是单位阶跃函数,但是单位阶跃函数不连续不可微,于是,利用的

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

python学习笔记(03):函数

默认参数值:   只有在行参表末尾的哪些参数可以有默认参数值,即 def func(a, b=5 )#有效的 def func( a=5,b )#无效的 关键参数: #!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', c func(3, 7) func(25, c=24) func(c=50, a=100) #输出: $ pyth

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

python &nbsp; 学习笔记 (核心)

python    学习笔记 (核心) Python解释器从头到尾一行接一行执行脚本 # -*- coding: UTF-8 -*-    //字符编码 不区分单引号和双引号,x='hello',x[0],x[-1]指最后一个字符,x[2:4]取子串, '''hello''' #hello三引号会保留文本输入时的换行符制表符等不需要转义,用于多行原样输入保存 'hello'+'world' #字符串拼接,'hello'*2 #字符串重复 help(fun) #帮助,help(module.met

廖Python学习笔记一

1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文字print()函数可以接受多个字符串,用逗号(,)隔开,依次输出遇到逗号输出一个空格.如图 1.1.1.2. 输入 提供了一个input(),可以让用户输入字符串,并存放到一个变量里. name = input() print(name) 1.1.2. 变量 是初中数学所学的代数基础知识的使用.

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho