电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python實現logistic分類算法代碼

瀏覽:4日期:2022-08-05 10:06:53

最近在看吳恩達的機器學習課程,自己用python實現了其中的logistic算法,并用梯度下降獲取最優值。

logistic分類是一個二分類問題,而我們的線性回歸函數

python實現logistic分類算法代碼

的取值在負無窮到正無窮之間,對于分類問題而言,我們希望假設函數的取值在0~1之間,因此logistic函數的假設函數需要改造一下

python實現logistic分類算法代碼

由上面的公式可以看出,0 < h(x) < 1,這樣,我們可以以1/2為分界線

python實現logistic分類算法代碼

cost function可以這樣定義

python實現logistic分類算法代碼

其中,m是樣本的數量,初始時θ可以隨機給定一個初始值,算出一個初始的J(θ)值,再執行梯度下降算法迭代,直到達到最優值,我們知道,迭代的公式主要是每次減少一個偏導量

python實現logistic分類算法代碼

如果將J(θ)代入化簡之后,我們發現可以得到和線性回歸相同的迭代函數

python實現logistic分類算法代碼

按照這個迭代函數不斷調整θ的值,直到兩次J(θ)的值差值不超過某個極小的值之后,即認為已經達到最優解,這其實只是一個相對較優的解,并不是真正的最優解。 其中,α是學習速率,學習速率越大,就能越快達到最優解,但是學習速率過大可能會讓懲罰函數最終無法收斂,整個過程python的實現如下

import mathALPHA = 0.3DIFF = 0.00001def predict(theta, data): results = [] for i in range(0, data.__len__()): temp = 0 for j in range(1, theta.__len__()): temp += theta[j] * data[i][j - 1] temp = 1 / (1 + math.e ** (-1 * (temp + theta[0]))) results.append(temp) return resultsdef training(training_data): size = training_data.__len__() dimension = training_data[0].__len__() hxs = [] theta = [] for i in range(0, dimension): theta.append(1) initial = 0 for i in range(0, size): hx = theta[0] for j in range(1, dimension): hx += theta[j] * training_data[i][j] hx = 1 / (1 + math.e ** (-1 * hx)) hxs.append(hx) initial += (-1 * (training_data[i][0] * math.log(hx) + (1 - training_data[i][0]) * math.log(1 - hx))) initial /= size iteration = initial initial = 0 counts = 1 while abs(iteration - initial) > DIFF: print('第', counts, '次迭代, diff=', abs(iteration - initial)) initial = iteration gap = 0 for j in range(0, size): gap += (hxs[j] - training_data[j][0]) theta[0] = theta[0] - ALPHA * gap / size for i in range(1, dimension): gap = 0 for j in range(0, size):gap += (hxs[j] - training_data[j][0]) * training_data[j][i] theta[i] = theta[i] - ALPHA * gap / size for m in range(0, size):hx = theta[0]for j in range(1, dimension): hx += theta[j] * training_data[i][j]hx = 1 / (1 + math.e ** (-1 * hx))hxs[i] = hxiteration += -1 * (training_data[i][0] * math.log(hx) + (1 - training_data[i][0]) * math.log(1 - hx)) iteration /= size counts += 1 print(’training done,theta=’, theta) return thetaif __name__ == ’__main__’: training_data = [[1, 1, 1, 1, 0, 0], [1, 1, 0, 1, 0, 0], [1, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 1], [0, 1, 0, 0, 0, 1],[0, 0, 0, 0, 1, 1]] test_data = [[0, 1, 0, 0, 0], [0, 0, 0, 0, 1]] theta = training(training_data) res = predict(theta, test_data) print(res)

運行結果如下

python實現logistic分類算法代碼

以上這篇python實現logistic分類算法代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 实体店商新零售|微赢|波后|波后合作|微赢集团 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 铸钢件厂家-铸钢齿轮-减速机厂家-淄博凯振机械有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 培训无忧网-教育培训咨询招生第三方平台| PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 |