Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to Sparse Modeling for Software En...
Search
Hacarus Inc.
October 13, 2018
Technology
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Sparse Modeling for Software Engineers
Presentation slides at GDG DevFest Philippines 2018
*
https://devfest.gdgph.org/
Hacarus Inc.
October 13, 2018
More Decks by Hacarus Inc.
See All by Hacarus Inc.
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
1.4k
QA4AIに則ったMLOpsツールの活用
hacarus
0
760
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
310
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
230
犬の心電AI解析プロダクト開発奮闘記 _クラウドからハード開発までてんこ盛り
hacarus
0
2.2k
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
1.2k
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
1.5k
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
1.6k
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
1.3k
Other Decks in Technology
See All in Technology
AI de Idea
kawaguti
PRO
2
130
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.4k
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
350
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
What the customer really needed
kawaguti
PRO
3
210
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
280
絵ではじめるKubernetesセキュリティ
aoi1
4
690
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
0
150
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
6
3.2k
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
870
Believing is Seeing
oripsolob
1
220
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
Speed Design
sergeychernyshev
33
2.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
500
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Between Models and Reality
mayunak
4
460
The Cult of Friendly URLs
andyhume
79
7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
,8 0 0 2 1 , 1 0 2 00
3 0 0 3 88 0
5BLBTIJ4PNFEB !ULTNE • $50BU)BDBSVT *OD • .BTUFS`TEFHSFFPG*OGPSNBUJPO4DJFODFBU ,ZPUP6OJWFSTJUZ • )PTUTEBUBTDJFOUJTUDPNNVOJUZJO,"/4"*
• IUUQTNMNLBOTBJDPOOQBTTDPN
"CPVU)BDBSVT • 5BDLMFNFEJDBM JOEVTUSJBMJTTVFTCZ"* • 'PDVTPO4QBSTF.PEFMJOH • 4VQQPSUFECZQSPGFTTPST • .S.BTBZVLJ0I[FLJ
GSPN5PIPLV6OJWFSTJUZ • .S,BPSV,BXBNPUPGSPN4IJHB6OJWFSTJUZ
"MJUUMFNPSFBCPVUVT
5BLFBXBZT • (FUCBTJDDPODFQUPG4QBSTF.PEFMJOH • ,OPXBDUVBMJNQMFNFOUBUJPOJO1ZUIPO • )PQFZPVHFUJOUFSFTUFEJOJU
8IBU`T4QBSTF.PEFMJOH
4QBSTF.PEFMJOH • .PEFMJOHBQQSPBDIUPVTFTQBSTJUZ • "DUJWFEJTDVTTJPOTTUBSUFEBU • *NBHFBOBMZTJTJTXFMMLOPXOBQQMJDBUJPO
$PNNPO.-JTTVFTJOCVTJOFTT • /FFEUPFYQMBJO IPXXIZ"*HJWFTSFTVMU • /FFE NPOFZBOEPSUJNF UPDPMMFDUEBUB • /FFE
JOJUJBMDPTUGPS(16IBSEXBSF IUUQTIBDBSVTDPNJOGPSNBUJPOUFDITQBSTFNPEFMJOHGPSJUFOHJOFFST
&YQMBJOBCMFWT1SFEJDUBCMF • /PTJMWFSCVMMFUT USBEFPGGFYJTUT • 'BJMXJUIPVUUIJOLJOHCVTJOFTTSFRVJSFNFOUT • 69PG"*TZTUFNCFDPNFTJNQPSUBOU
"EWBOUBHFPG4QBSTF.PEFMJOH • 4FMFDUJNQPSUBOUGFBUVSFTGSPNJOQVU • 8PSLXJUI FWFO TNBMMBNPVOUPGEBUB • 3VOPOMJNJUFEIBSEXBSFSFTPVSDF
*OUSPEVDUJPOPG-BTTP
-JOFBSSFHSFTTJPO • 1SPCMFNEFTDSJQUJPO • 0VUQVUZ DBOCFFYQSFTTFEBTMJOFBSDPNCJOBUJPOPGY XJUIPCTFSWBUJPOOPJTFЏ • XIFSFY JTN
EJNFOTJPOBMBOETBNQMFTJ[FPGZ JTO ! = #$ %$ + ⋯ + #( %( + ) 㱺 &TUJNBUFX XIJDIFYQSFTTFT ZXFMM
-JOFBSSFHSFTTJPO • #BTJDBQQSPBDI • .JOJNJ[FMFBTUTRVBSFFSSPSTPGZ BOENVMUJQMJFSTPG Y BOEFTUJNBUFEX min 1
2 & − () * 㱺 XIBUJGXFEPO`UIBWFFOPVHITBNQMFTPGZ ʁ
6OEFSEFUFSNJOFE4ZTUFN .BUSJY&YQSFTTJPO 8IFOTBNQMFTJ[F . JTMFTTUIBO JOQVUEJNFOTJPOPG9 / Z8Y DBOOPUCFTPMWFE "EEJOHTQBSTJUZDPOTUSBJOU
*GOVNCFSPGOPO[FSPWBMVFPGY , JTMFTTUIBO. 8FDBOTPMWF UIJTQSPCMFN W W
-OPSNPQUJNJ[BUJPO • 6TFNJOJNVNOVNCFSPGY UPTBUJTGZ FRVBUJPO • 'JOEX UPNJOJNJ[FOVNCFSPGOPO[FSP FMFNFOUT •
$PNCJOBUJPOBMPQUJNJ[BUJPO • /1IBSEBOEOPUGFBTJCMFL
-OPSNPQUJNJ[BUJPO • 3FMBY-DPOTUSBJOUUP • 'JOEX UPNJOJNJ[FTVNPGJUTBCTPMVUFWBMVFT • (MPCBMTPMVUJPODBO TUJMM CFSFBDIFE
• 4PMWFEXJUIJOQSBDUJDBMUJNF
&Y7JTVBMFYQSFTTJPO -OPSN !" + !$ = &
• -FBTU"CTPMVUF4ISJOLBHFBOE4FMFDUJPO0QFSBUPS • 0CKFDUJWFGVODUJPOXJUI-OPSNBTSFHVMBSJ[BUJPO UFSN -BTTP min 1 2 &
− () * + , ( - 㱺 3FHVMBSJ[BUJPOQBSBNFUFS Е DPOUSPMT TQBSTJUZ
7BSJPVT"MHPSJUINTGPS-BTTP • $PPSEJOBUF%FTDFOU • -FBTU"OHMF3FHSFTTJPO • *45" • "%..
&Yɿ$PPSEJOBUF%FTDFOU *OJUJBMJ[F !" # = 1, … , (
XJUISBOEPNWBMVF 6QEBUF ) !" = * + , -. , / , 0 8IFSF 1(") = 4 − ∑ 78" 9 7 !7 BOES JTTPGUUISFTIPMEJOH GVODUJPO 3FQFBUVOUJMDPOWFSHJOHDPOEJUJPOTBUJTGJFE
4PGU5ISFTIPMEJOH0QFSBUPS • 4ISJOLHJWFOWBMVFYCBTFEPO! S #, ! = & # −
!, (# ≥ !) 0, (−! < # < !) # + !, (# ≤ −!)
1ZUIPODPEFFYBNQMF # Soft thresholding operator def soft_threshold(X, thresh): return np.where(np.abs(X)
<= thresh, 0, X - thresh * np.sign(X)) # Coordinate descent w_cd = np.zeros(n_features) for _ in range(n_iter): for j in range(n_features): w_cd[j] = 0.0 r_j = y - np.dot(X, w_cd) w_cd[j] = soft_threshold(np.dot(X[:, j], r_j) / n_samples, alpha)
3FTVMU EJNFOTJPOBMJOQVUXJUI OPO[FSPDPFGGJDJFOUTBOETBNQMFT
1BUIEJBHSBN • 7JTVBMFYQSFTTJPOPGIPX! BGGFDUTUIF OVNCFSPGOPO[FSPDPFGGJDJFOUT
0UIFSJNQMFNFOUBUJPOT • TDJLJUMFBSO • $PPEJOBUF %FTDFOUJTEFGBVMU -BTTP • -"34JTBMTPBWBJMBCMF -BTTP-BST
• TQNJNBHF • "%..JTBWBJMBCMF -BTTP"%..
TQNJNBHF • 1ZUIPOMJCSBSZGPSTQBSTFNPEFMJOH • "MHPSJUINTGPS*NBHFBOBMZTJT • $PNQMJBOUUPTDJLJUMFBSOJOUFSGBDF • IUUQTHJUIVCDPNIBDBSVTTQNJNBHF
&Y-BTTPBOE-BTTP"%.. # Lasso from scikit-learn from sklearn.linear_model import Lasso model
= Lasso(alpha=0.1) model.fit(X_train, Y_train) model.score(X_test, y_test) # Lasso from spm-image from spmimage.linear_model import LassoADMM model = LassoADMM(alpha=0.1) model.fit(X_train, Y_train) model.score(X_test, y_test)
*NBHFBOBMZTJT
%JDUJPOBSZMFBSOJOH :*NBHF "%JDUJPOBSZ ! "# $# 9DPFGGJDJFOU • &YUSBDUQBUDIFTGSPNJNBHFT •
-FBSOEJDUJPOBSZ UPFYQSFTTFWFSZQBUDIFT • &WFSZQBUDIFTTIPVMECFTQBSTF DPNCJOBUJPOPG CBTJT 4QBSTF$PEJOH
&Y*NBHFSFDPOTUSVDUJPO 0SJHJOBMJNBHF 3FDPOTUSVDUFEJNBHF
&Y*NBHFSFDPOTUSVDUJPO -FBSOFEEJDUJPOBSZ Y CBTJT 4QBSTF$PEJOH HSFFOJT[FSP
1ZUIPODPEFFYBNQMF # extract patches patches = extract_simple_patches_2d(img, patch_size) # normalize
patches patches = patches.reshape(patches.shape[0], -1).astype(np.float64) intercept = np.mean(patches, axis=0) patches -= intercept patches /= np.std(patches, axis=0) # dictionary learning model = MiniBatchDictionaryLearning(n_components=n_basis, alpha=1, n_iter=n_iter, n_jobs=1) model.fit(patches) # reconstruction reconstructed_patches = np.dot(code, model.components_) reconstructed_patches = reconstructed_patches.reshape(len(patches), *patch_size) reconstructed = reconstruct_from_simple_patches_2d(reconstructed_patches, img.shape)
*OQBJOUJOH 'PSNJTTJOHWBMVFT XFDPOTJEFSNBTLNBUSJY.BOE VTFJUXJUIVTVBMJNBHFSFDPOTUSVDUJPOCZEJDUJPOBSZ
4VNNBSZ
4QBSTFNPEFMJOH • "EWBOUBHFT • 4FMFDUJNQPSUBOUGFBUVSFTGSPNJOQVU • 8PSLXJUI FWFO TNBMMBNPVOUPGEBUB •
3VOPOMJNJUFEIBSEXBSFSFTPVSDF • :PVDBOTUBSUJUUPEBZJ • 1ZUIPOJNQMFNFOUBUJPOJTBWBJMBCMFJOTDJLJU MFBSOBOETQNJNBHF
! 8F`SFIJSJOH ! IUUQTXXXLBMJCSSDPNDIBDBSVTJODKPCT