kaggle gradient_descent

1.描述

自写梯度下降

2.代码

import numpy as np
import matplotlib.pyplot as plt# train_X = np.array([[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10]]).T
# train_y = np.array([2,4,6,8,10,12,14,16,18,20]).T
# test_X = np.array([[2,4,12,11],[3,6,3,9]]).T # 5 10 15 20train_X = np.random.randn(1000,10)
train_y = np.random.randn(1000,1)
test_X =  np.random.randn(1000,10)step_len = 0.1
max_iterations = 100000
epsilon = 1e-7def ComputeCost(X,y,theta):tmp = X.dot(theta)-y.reshape(y.shape[0],1)return 1/(2*len(y))*sum((tmp*tmp))def GradientDescent(X,y,step_len,max_iterations):X = np.array(X)y = np.array(y)X = np.column_stack( (np.ones((len(y),1)),X))theta = np.zeros((X.shape[1],1))m = len(y)J_his = []for i in range(0,max_iterations):tmp = X.dot(theta)-y.reshape(y.shape[0],1)theta = theta - step_len / m * X.T.dot(tmp)J_his.append(ComputeCost(X,y,theta))#print(J_his[-1])if(len(J_his)>=2 and J_his[-2] - J_his[-1] >= 0 and J_his[-2] - J_his[-1] <= epsilon):print('已收敛')breakif(len(J_his)>=2 and J_his[-1] - J_his[-2] >= 0):print('步长过大')breakreturn theta,J_hisdef Predict(X,theta):one = np.ones((X.shape[0],1))X = np.column_stack(( one,X ))return X.dot(theta)def Normalizetion(x):sum_tmp = np.sum(x,axis=0)max_tmp = np.max(x,axis=0)min_tmp = np.min(x,axis=0)ave_tmp = np.average(x,axis=0)return (x - ave_tmp)/(max_tmp-min_tmp)
#############################################################################train_X = Normalizetion(train_X)
theta,J_his = GradientDescent(train_X,train_y,step_len,max_iterations)
# print('theta =',theta,'\n')# print(Predict(test_X,theta))train_time = range(0,len(J_his))
plt.plot(train_time, J_his)
plt.xlabel('train_time')
plt.ylabel('cost_fun_J')
plt.show()

转载于:https://www.cnblogs.com/cbattle/p/8810701.html

kaggle gradient_descent相关推荐

  1. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  2. Kaggle上的犬种识别(ImageNet Dogs)

    Kaggle上的犬种识别(ImageNet Dogs) Dog Breed Identification (ImageNet Dogs) on Kaggle 在本节中,将解决在Kaggle竞赛中的犬种 ...

  3. 基于Kaggle的图像分类(CIFAR-10)

    基于Kaggle的图像分类(CIFAR-10) Image Classification (CIFAR-10) on Kaggle 一直在使用Gluon's data package数据包直接获得张量 ...

  4. 泰坦尼克号数据集_机器学习(入门)--Kaggle项目之泰坦尼克号

    电影<泰坦尼克号>改编自一个真实故事.1912年4月15日,这艘号称"永不沉没"的泰坦尼克号在首航期间,撞上冰山后沉没,船上的2224名乘客和机组人员,其中只有772人 ...

  5. [干货]Kaggle热门 | 用一个框架解决所有机器学习难题

    新智元推荐 来源:LinkedIn 作者:Abhishek Thakur 译者:弗格森 [新智元导读]本文是数据科学家Abhishek Thakur发表的Kaggle热门文章.作者总结了自己参加100 ...

  6. keras bi-lstm_LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels

    keras bi-lstm by Megan Risdal 梅根·里斯达尔(Megan Risdal) LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels (An ...

  7. kaggle之数据分析从业者用户画像分析

    数据为kaggle社区发布的数据分析从业者问卷调查分析报告,其中涵盖了关于该行业不同维度的问题及调查结果.本文的目的为提取有用的数据,进行描述性展示.帮助新从业的人员更全方位地了解这个行业. 参考学习 ...

  8. 如何在 Kaggle 首战中进入前 10%(转)

    如何在 Kaggle 首战中进入前 10%(转) 来源:https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/ ...

  9. Kaggle金牌得主的Python数据挖掘框架,机器学习基本流程都讲清楚了

    作者 | 刘早起 来源 | 早起Python 导语:很多同学在学习机器学习时往往掉进了不停看书.刷视频的,但缺少实际项目训练的坑,有时想去练习却又找不到一个足够完整的教程,本项目翻译自kaggle入门 ...

最新文章

  1. Python基础-模块
  2. 软件测试2019:第四次作业
  3. php页面时长,页面执行时间太长,请诸位大大帮忙看看
  4. 微软将终止免费的条码标签服务
  5. MyBatis中in的使用
  6. Redis:05---键的基本命令(下) 生存周期
  7. 软件开发包(SDK)安全与合规报告(2020)
  8. NavigatorContent使用皮肤
  9. synchronized可重入锁
  10. Gym 101246G Revolutionary Roads
  11. Windows8中pid为4的system进程占用80端口的解决办法
  12. PHPExcel 表格 行 合并
  13. 最近的计算机网络新技术,计算机网络通信新技术的现状与发展趋势
  14. latex 琐粹记录
  15. 个人电脑windows装青龙面板,本地运行,无需服务器,本人亲测成功
  16. InnoDB: auto-extending data file ./ibdata1 is of a different size 0 pages (rounded down to MB) than
  17. C# 小程序 getPhoneNumber(e),后台解析手机号码
  18. Ceph 命令 pool image 纠删
  19. UE4 让材质的UV动起来
  20. opencv 锐化 java_如何在OpenCV中锐化图像?

热门文章

  1. usbserial驱动 带感叹号_STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!...
  2. 楼天成回忆录 ACRush
  3. 扒勒索病毒史,聊真CDP与准CDP
  4. 单片机显示原理(LCD1602)
  5. python怎么输出复数_python基础知识及应用(二)输入输出|递归|深浅拷贝|全局变量|复数...
  6. intra-mart使用笔记
  7. 攻防世界-----web知识点总结
  8. 抖音电商主播运营技巧话术脚本策划方案带货流程计划表格
  9. SAP SAP 交货单批导三部走(带批次)
  10. Spring之Bean的自动装配