| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 李宏毅机器学习第一天 深度学习初探—多分类问题 -> 正文阅读 |
|
[人工智能]李宏毅机器学习第一天 深度学习初探—多分类问题 |
题目: 这是一个多分类问题,生成2段数据,一个做验证,一个做测试 对数字101到1000做了labeling,即训练数据xtrain.shape=(900,10),每一个数字都是用二进位来表示,第一个数字是101,用二进位来表示即为[1,0,1,0,0,1,1,0,0,0],每一位表示$2^{n-1}$,$n$表示左数第几位。现在一共有四个case,[一般,Fizz,Buzz,Fizz Buzz],所以y_train.shape=(900,10),对应的维度用1表示,其他都为0 算法: 采用深度学习keras算法。Keras是一个用python编写的高级神经网络API,算法比较简单。能够比较简单的建立一个网络。则这里就用keras的一些算法组建一个网络。 from keras.layers.normalization import BatchNormalization from keras.models import Sequential from keras.layers.core import Dense,Dropout,Activation from keras.optimizers import SGD,Adam import numpy as np #生成数据集的方法,其中目标值是4类,相当于做了一个one-hot def fizzbuzz(start,end): x_train,y_train=[],[] for i in range(start,end+1): num = i tmp=[0]*10 j=0 while num : tmp[j] = num & 1 num = num>>1 j+=1 x_train.append(tmp) if i % 3 == 0 and i % 5 ==0: y_train.append([0,0,0,1]) elif i % 3 == 0: y_train.append([0,1,0,0]) elif i % 5 == 0: y_train.append([0,0,1,0]) else : y_train.append([1,0,0,0]) return np.array(x_train),np.array(y_train) x_train,y_train = fizzbuzz(101,1000) #打标记函数 x_test,y_test = fizzbuzz(1,100) #建模 model.add就是建立网络模型。Dense是一个全连接层,输入是10,输出是100;Activation是一个激活函数, model = Sequential() model.add(Dense(input_dim=10,output_dim=100)) model.add(Activation('relu')) model.add(Dense(output_dim=4)) model.add(Activation('softmax')) #编译 使用与二分类一样的优化器、损失函数 model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy']) #训练模型 model.fit(x_train,y_train,batch_size=20,nb_epoch=100) #结果评估 result = model.evaluate(x_test,y_test,batch_size=1000) print('Acc:',result[1]) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 20:19:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |