SlideShare una empresa de Scribd logo
1 de 18
集合知プログラミング
11章 進化する知性(前半)
@tetsuroito
誰?
名前           バックボーン
伊藤 徹郎       経済・ファイナンス
twitter ID Python歴
@tetsuroito ビギナー
所属
株式会社ALBERT データ分析部
株式会社ALBERTについて
私たちは「分析力をコアとする情報最適化企業」です!
ALBERTの事業領域
CRMソリューションの開発・提供
レコメンドエンジンの開発・提供
行動ターゲティング広告システムの
開発・提供
データサイエンティスト、エンジニア大募集中です!
皆様、ぜひよろしくお願いします!
アジェンダ
第11章 進化する知性
11.1 遺伝的プログラミングとは?
11.2 ツリー構造のプログラム
11.3 最初の集団を作る
11.4 解決法をテストする
11.5 プログラムの突然変異
11.6 交 (Crossover)
11.7 環境を作り上げる
11.8 シンプルなゲーム
11.9 さらなる可能性
僕の担当範囲!
@gepuro氏
11章でやること
1、遺伝的プログラミング
2、2つの問題
・与えられたデータセットを基に数学的な関数を
 再構築する問題
・人工知能による単純なボードゲームのプレーヤーを
 自動的に作り上げる問題
制約はPCのパワーだけ
今までの章との差異
■今まで
特定の問題を適したアルゴリズムで解決
パラメータチューニング、最適化での探索
■この章
問題を解決するための自動プログラミング
アルゴリズムを作るためのアルゴリズム
遺伝的プログラミング
遺伝的プログラミングって何?
ランダムな集団を生成 個々をランクづけ
よい個体の有無 終了
Yes
ベストな個体の複製
突然変異 交
No
新たな集団
遺伝的プログラミングの概要
進化!
突然変異と交
■突然変異
!プログラムの特定のパーツ性能がよくなることを期待され
ながらほんの少しずつランダムに変更される
■交
!もっともよいプログラムの中から一部を取り出し、他のよい
プログラムのどれか一部と入れ替える
各段階の品質評価は適合度関数を用いて計測
プログラムの終了条件
・完全な解決方法が発見されたとき
・十分によい解決方法が発見されたとき
・何世代かにわたり改善が見られなかったとき
・世代の数が特定の上限値に達したとき
上記の終了条件に達するまで
新たな世代が作られ続ける
ツリー構造のプログラム
もっとも一般的な解析木構造
if
>
x 3 y 5 y 2
Lisp系の言語では解析木を直接入力するらしい‥
+ -
Pythonで表現すると
def func(x,y):
! if x>3:
! return y + 5
else:
! return y - 2
!
コードで書くと理解しやすい
Pythonでツリーを表現
使うクラス
class fwrapper: # 関数ノードで利用される関数のラッパー。
メンバ変数は関数の名前、関数自身、それが受け取るパラメータの数 
class node: # 関数ノードのクラス。fwrapperによって初期化される。
evaluateが呼び出されると、子ノードを評価し、関数をその結果に適用する。
class paramnode: # プログラムに渡されたパラメータたちの一つを返すだ
けのノードのクラス。evaluateメソッドはidxで指定されたパラメータを返す
class constnode: # 定数を返すノード。evaluateメソッドは単純に初期化された時
の値を返す
遺伝的プログラミングの流れ
1、ツリー構造を表現する
2、最初の集団をランダムに生成する
初期集団をランダムに生成することで多様性が生まれる
GithubリンクURL:https://gist.github.com/tetsuroito/fd31664ef343eea5d0f5
3、解決方法をテストする
4、次世代へ
プログラムの突然変異
突然変異とは?
最適なプログラムが選択された後、次の世代に複製され、
改造されること(子ノードの数の変更、枝の変更など)
ただし、多くのノードを突然変異させてはダメ
(ノードが変わる確率を比較的小さく設定する)
突然変異の例(ノード関数の変更)
if
>
x 3 y 5 y 2
+ -
+
y 5 y 2
+ -
突然変異後
突然変異の例(サブツリーの置換)
if
>
x 3 y 5 y 2
+ -
if
>
x 3 y 5 y 2
+
-
*
X Y
突然変異後
つづく!

Más contenido relacionado

Destacado

Destacado (6)

Finding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in RailsFinding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in Rails
 
Old age healthcare security an urgent need for the ageing urban population
Old age healthcare security an urgent need for the ageing urban populationOld age healthcare security an urgent need for the ageing urban population
Old age healthcare security an urgent need for the ageing urban population
 
S Reeves Resume
S Reeves ResumeS Reeves Resume
S Reeves Resume
 
AFT Task 2
AFT Task 2AFT Task 2
AFT Task 2
 
Finding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in goFinding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in go
 
mANEJO DEL ESTRES
mANEJO DEL ESTRESmANEJO DEL ESTRES
mANEJO DEL ESTRES
 

Similar a 集合知プログラミング11章

はじパタ2章
はじパタ2章はじパタ2章
はじパタ2章
tetsuro ito
 
ad:tech Tokyo 2011 - MicroAd Workshop
ad:tech Tokyo 2011 - MicroAd Workshopad:tech Tokyo 2011 - MicroAd Workshop
ad:tech Tokyo 2011 - MicroAd Workshop
Wataru Noguchi
 
Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント
伸夫 森本
 

Similar a 集合知プログラミング11章 (20)

Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
 
TechTarget新サービス
TechTarget新サービスTechTarget新サービス
TechTarget新サービス
 
はじパタ2章
はじパタ2章はじパタ2章
はじパタ2章
 
最新VR・MR技術とメタデータ「MRが実現する世界」
最新VR・MR技術とメタデータ「MRが実現する世界」最新VR・MR技術とメタデータ「MRが実現する世界」
最新VR・MR技術とメタデータ「MRが実現する世界」
 
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
 
ad:tech Tokyo 2011 - MicroAd Workshop
ad:tech Tokyo 2011 - MicroAd Workshopad:tech Tokyo 2011 - MicroAd Workshop
ad:tech Tokyo 2011 - MicroAd Workshop
 
失敗から学ぶ データ分析グループの チームマネジメント変遷 (デブサミ2016) #devsumi
失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi
失敗から学ぶ データ分析グループの チームマネジメント変遷 (デブサミ2016) #devsumi
 
What's TMCN?
What's TMCN?What's TMCN?
What's TMCN?
 
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューションあらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
 
Intel AI in Healthcare 各国事例からみるAIとの向き合い方
Intel AI in Healthcare 各国事例からみるAIとの向き合い方Intel AI in Healthcare 各国事例からみるAIとの向き合い方
Intel AI in Healthcare 各国事例からみるAIとの向き合い方
 
Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント
 
すごいタスク管理(仮)
すごいタスク管理(仮)すごいタスク管理(仮)
すごいタスク管理(仮)
 
Sumo Logic Kubernetes webinar
Sumo Logic Kubernetes webinarSumo Logic Kubernetes webinar
Sumo Logic Kubernetes webinar
 
20190119triz for STEM LEADERS
20190119triz for STEM LEADERS20190119triz for STEM LEADERS
20190119triz for STEM LEADERS
 
IoTt時代のERPに求められる条件とは2017Mar.
IoTt時代のERPに求められる条件とは2017Mar.IoTt時代のERPに求められる条件とは2017Mar.
IoTt時代のERPに求められる条件とは2017Mar.
 
数式がわからなくたってDeep Learningやってみたい!人集合- dots. DeepLearning部 発足!
数式がわからなくたってDeep Learningやってみたい!人集合- dots. DeepLearning部 発足!数式がわからなくたってDeep Learningやってみたい!人集合- dots. DeepLearning部 発足!
数式がわからなくたってDeep Learningやってみたい!人集合- dots. DeepLearning部 発足!
 
Iot_demo_challenger
Iot_demo_challengerIot_demo_challenger
Iot_demo_challenger
 
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャーネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
 

Más de tetsuro ito

20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt
tetsuro ito
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
tetsuro ito
 
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
tetsuro ito
 
はじパタ8章 svm
はじパタ8章 svmはじパタ8章 svm
はじパタ8章 svm
tetsuro ito
 
第31回TokyoR LT資料
第31回TokyoR LT資料第31回TokyoR LT資料
第31回TokyoR LT資料
tetsuro ito
 
20120326 zansa勉強会発表資料 (公開用) 02 04-38
20120326 zansa勉強会発表資料 (公開用) 02 04-3820120326 zansa勉強会発表資料 (公開用) 02 04-38
20120326 zansa勉強会発表資料 (公開用) 02 04-38
tetsuro ito
 
複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半
tetsuro ito
 

Más de tetsuro ito (20)

[Up用]rでqr
[Up用]rでqr[Up用]rでqr
[Up用]rでqr
 
20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5 20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5
 
DataOps in Moneyforward
DataOps in Moneyforward DataOps in Moneyforward
DataOps in Moneyforward
 
20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料
 
20161029 dots machine learning in money forward
20161029 dots machine learning in money forward20161029 dots machine learning in money forward
20161029 dots machine learning in money forward
 
20160906 bq sushi
20160906 bq sushi20160906 bq sushi
20160906 bq sushi
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
 
20150303続パタ5章後半
20150303続パタ5章後半20150303続パタ5章後半
20150303続パタ5章後半
 
PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)
 
20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
 
20140204はじパタlt
20140204はじパタlt20140204はじパタlt
20140204はじパタlt
 
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
 
はじパタ8章 svm
はじパタ8章 svmはじパタ8章 svm
はじパタ8章 svm
 
Tokyo R LT 20131109
Tokyo R LT 20131109Tokyo R LT 20131109
Tokyo R LT 20131109
 
第31回TokyoR LT資料
第31回TokyoR LT資料第31回TokyoR LT資料
第31回TokyoR LT資料
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
 
20120326 zansa勉強会発表資料 (公開用) 02 04-38
20120326 zansa勉強会発表資料 (公開用) 02 04-3820120326 zansa勉強会発表資料 (公開用) 02 04-38
20120326 zansa勉強会発表資料 (公開用) 02 04-38
 
複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半
 

集合知プログラミング11章