chevron_left

メインカテゴリーを選択しなおす

cancel
わくば[医学とプログラミング] https://pyecracker99.hatenablog.com/

医学部5年。IT技術をもって僻地医療に貢献せんとする。 平凡な医大生がエンジニアとしてのスキルを身に着け僻地を帰るまでを追った奮闘記

わくば@構えは斜め
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/06/27

arrow_drop_down
  • 国家試験終わりました!

    どうも!わくばです! 随分長らく放置してしまいましたが、無事医師国家試験終了しました! しばらく卒業旅行などいろいろあって記事を書くのが遅れてしまいました。 結果は必修92%, 一般臨床82%といった感じです! 合格ラインは必修80%, 一般臨床70%が通例ですので、確実に合格と言って差し支えないレベルです。 プログラミングにかまけてたせいで、去年の秋頃の段階だと成績かなりやばかったんですが、最後まで追い込んだ甲斐がありました。 今年はやはりコロナの蔓延もあって、受験の可否も気にしなきゃならずストレスでした_(:3」∠)_ また試験内容も、現場の医師不足を反映してるのかわかりませんが、かなり実…

  • 今日のアルゴリズム(JS実装)〜Boyer Moore Algorithm〜

    // どうも、わくばです! 最近は周りも国試を意識し始めて、少し焦りを感じてきました(笑) Webサービスの開発もありますし、新入生も入ってきたし、なんか気持ち的にもかなり追い込まれてました(笑) うまく両立していけるようにしないとです。 近況報告はこの辺にして、今回はBoyer Moore法を記事にしてみます。 まず言葉の整理をしておくと、テキストというのは検索対象の文字列、パターンは検索したい文字列を指します。例えばABCDEFGの中からDEFの文字列を検索する場合、ABCDEFGをテキスト、DEFをパターンと呼ぶことにします。 このアルゴリズムを理解する上でポイントとなるのは、ずらしテー…

  • E資格合格!〜計120時間で合格した方法〜

    どうも、わくばです。 E資格合格できました! その結果と感想、僕がとった勉強方法をお話できればと思います 結果 勉強方法と期間 お金、、、 感想 結果 得点は7割でした。笑 ギリギリ、、、 普通に難しかったです。僕の勉強が実装はほぼせず、JDLA認定講座とE資格黒本を一周した程度だったので、深いところに踏み込まれるとかなりしんどかったですね、、、 得点はかなり低いんですが、この間に6年生への進級試験なども並行していたりしていて、勉強時間などを加味するとかなり必要最低限でコスパ高く合格できたのではないかと思います。その点で参考にはなるかなと。 勉強方法と期間 勉強時間は合計120時間で、1日2時…

  • 【ご報告】エンジニアとしてプロジェクトに参加させていただくことになりました。

    どうも、わくばです! ずいぶん間があいてしまったんですが、実はタイトルにもある通り、フロントエンドエンジニアとしてプロジェクトに参加させていただける事になりまして、そちらのタスクで全然ブログが書けていませんでした。 就職とかインターンではなく、お金をもらえるものではありません。したがって仕事と呼べるものではないので「エンジニアとして」という表現が適切かはわかりませんが、やることは結構ガッツリエンジニアリングです。 大学をまたいで医学生のみで構成されているコミュニティがありまして、そこで医学生向けのWebサービスを立ち上げようということになり、そこにjoinさせてもらえたって感じです。 なのでま…

  • 今日のアルゴリズム(JS実装)〜Rabin-Karp Algorithm〜

    // どうも、わくばです! 今回はRabin-Karp algorithmです。どんどん重たくなってきたので、日をまたがないとできなくなってきました(汗)。まだまだですね。。。 Rabin-Karp algorithmはハッシュ関数を用いたマッチングアルゴリズムです。ハッシュ関数というのは暗号化というか何らかの値を返す たとえば探している文字列をaaabとし、検索対象の文字列をabaaaaabaaababaabなどとした場合、まずは探したいaaabという文字列をハッシュ関数に掛け数値化(出力Xが得られたとする)します。そして 検索対象のアルゴリズムから、最初の4文字をとってきてハッシュ関数にか…

  • 今日のアルゴリズム(JS実装)〜Knuth Morris Pratt Algorithm〜

    // どうも、わくばです! 今回はKMP algorithmです。これは意味がわかるまでかなり時間かかってしまいました。なんとなく言いたいことはわかるんですけど、それをアルゴリズムに起こすときにハテナが大量に(笑) KMPの探索部分はすぐしっくりきたんですが、Longest Proper Prefix which is Suffix (LPS) arrayをつくる部分が何をやってるのか全然わからなくて、、、(笑)。日本語の解説だとテーブルって呼んでるのも見かけますが、LPSと同じものです。 アルゴリズムそのものの解説はこの記事が非常にわかりやすいのでぜひ。 一週間で身につくアルゴリズムとデータ…

  • 今日のアルゴリズム(JS実装)〜Naive String Pattern Matching〜

    // どうも、わくばです! 今日からPattern Searchingに入りたいと思います。KMP AlgorithmやBoyer Moore Algorithmなどちょっと耳にしたことのある仰々しい名前のアルゴリズムが待っているジャンルなのでちょっと怖いです(小並感)。 まずはNaive String Pattern Matchingです。Naiveと付くときは「モジュールやライブラリなどのサブルーチンを使うと簡単に実装できるけど、あえてそれを用いないで実装する」場合を指すことが多いです。今回は、多分正規表現使えば簡単にできるけど、それをNaiveに実装するという意味なのだと思います。シンプ…

  • 今日のアルゴリズム(JS実装)〜Exponential Search〜

    // どうも、わくばです! 今日はExponential Searchです。Exponentialといのは指数関数的という意味です。理系学生は\(e^x\)や\(exp(x)\)でおなじみですよね。 このアルゴリズムは名前の通りで、指数関数的なインターバルを用いて飛び飛びに探索していくアルゴリズムです。Jump Searchと発想は近いと思いますが、Exponential Searchdでは最終的にBinary Searchを用いるので速いです。 以前記事にしたBinary Searchを添付しておきますので参考にしてみてください。 pyecracker99.hatenablog.com 以下…

  • 今日のアルゴリズム(JS実装) 〜Interpolation Search〜

    // どうも、わくばです! 今日はInterpolation Searchです。このアルゴリズムはBinary Searchの改造版で基本的な考え方は同じです。したがってソート済みの配列に適用する点は同じです。では何が違うのかというと、Binaryでは真ん中で半分にしていましたが、Interpolationでは分割点をもっと正確に計算しているという点です。確かに、何も考えずに真ん中で分けるのはあまりスマートではないですよね。せっかくソート済みなんだからもう少し絞れるだろ、というわけです。「あいさつ」という言葉を国語辞典で調べる場合、真ん中を開くことはしませんよね。あ行のように明らかに近いところ…

  • 今日のアルゴリズム(JS実装)〜Jump Search〜

    // どうも、わくばです! 今日は Jump Searchです。こちらもソート済みの配列を検索するアルゴリズムです。単純に言うとLinear Searchを端折った感じです。まず決まったintervalで飛び飛びに進んで探索をします。どのintervalにあるかわかったらその中でLinear Searchをして終わりです。 コードは以下のようになりました。 const jumpSearch = (array, value) => { let { length } = array let interval = Math.floor(Math.sqrt(length)); //これらは区画の両端。…

  • 今日のアルゴリズム(JS実装)〜Binary Sort〜

    どうも、わくばです! 今日はBinary Sortです。ソートが前提の処理ですが、前回のLinear searchより速いと思います。 仕組みはこんな感じ 基準値を決める 基準値と探している値を比べる 基準値より大きければその基準値より上に的を絞る 基準値より小さければその基準値より下に的を絞る 一個になったらそれが答え 半分ちょを繰り返して探していくってことですね。 const binarySearch = (array, value) => { //まずソート。以前の記事を参照 const sortedArray = quickSort(array); //上限と下限を定義する //ここか…

  • 今日のアルゴリズム(JS実装)〜Linear Search〜

    // どうも、わくばです! Sortに関してはある程度有名なものをやり終えたので、Searchに入ろうと思います。 今日はLinear Searchです。一番簡単なサーチだと思います。 コードはこんな感じです。 function linearSearch(array, value){ let results = [] for(let i = 0; i < array.length; i++){ if(arr[i] === value){ results.push(i) } } return results ? results : -1 } console.log(linearSearch([1…

  • 今日のアルゴリズム(JS実装)〜Radix Sort〜

    // どうも、わくばです! 今日はRadix Sortです。Bucket Sortに似てますね。Radixというのは基数とか根とか底とかいくつか訳がありますが、この例ではn進法のnのことです。 Radix Sortを簡単に説明すると、例えば10進法で考えるなら 0−9の計10個のバケットを準備する 配列を全部スキャンし、各要素の1桁目の値について0−9に分類してバケットに入れる(345という要素ならバケット5に入れる) 2を桁を上げて繰り返す。 といった感じです。比較ベースではないタイプのソートです。 コードはこんな感じになりました。 radixBaseはn進法のnのことです const ra…

  • 今日のアルゴリズム(JS実装)〜Bucket Sort〜

    どうも、わくばです! 今日はBucket Sortを勉強しました。バケツを用いた分割統治アルゴリズムで、Counting Sort の一般化と考えられます。実際、バケツサイズを1とすると同じ値のものだけが同じバケツに集約されていくので、Couting Sortと同様の処理になります。 バケツに分割して、それぞれのバケツでソートを実行し、統合するという典型的な仕組みです。 コードはこんな感じです。 //bucketSize : バケット一個あたりの要素数 const bucketSort = (array, bucketSize = 5) => { if (array.length < 2) {…

  • 今日のアルゴリズム(JS実装)〜Counting Sort〜

    // どうも、わくばです! 先日。E資格に申し込んだと言ったのですが、試験会場が都心しか空いていないことと、その他大学の実習の都合などいろいろ加味した結果、キャンセルして見送ることにしました。 JDLA認定は二年間有効なので、また機を見て受験しようと思います。 一応報告でした。 さて今日勉強したのは、Counting Sortです。まず出現回数をカウントし、その情報を回数と値がペアになるように別の配列に保持しておきます。今回は出現回数をvalue、何の値かをindexとして配列を作成しています。値をindexとすることで自然にソートされます。 以下がコードです。 const countingS…

  • 今日のアルゴリズム(JS実装)〜Shell Sort〜

    // どうも、わくばです! 今日はShell Sortを学びました。これはInsertion Sort の応用なのでコードを見てイマイチピントこなかった方は以前書いたInsertion Sortをぜひ参考にしてみてください*1 Shell Sortは飛び飛びでグループを形成し、グループごとにInsertion Sortを繰り返していくソートです。由来に関しては諸説あり、飛び飛びの間隔が徐々に狭まっていく様子が、貝殻のすぼまっていく形状を想起させるという説と、シンプルに「ドナルド=シェル」という方が考案したからという説がありました。 コードはこんな感じです。 const shellSort = …

  • Big O notation の計算原理についてちゃんと調べてみた

    // どうも、わくばです! アルゴリズムをいくつか勉強しているうちにBig O notationに関してだいぶ適当だったと感じてのでちゃんと調べてみました。が、結局わりと適当でオッケーみたいですね笑 MITのサイトや各種プログラミング学習サイトから引用しながら地味&&ラフに説明させていただきます。 まず気になっていたのが、\(\Theta()\)とか\(\Omega()\)とかの記号です。\(O()\)しか見聞きしたことなかったので一旦調べてみました。 freeCodeCampの記事では以下のようにありました。 Big O: “f(n) is O(g(n))” iff for some con…

  • 今日のアルゴリズム(JS実装)〜Quick Sort〜

    // どうも、わくばです! E資格の申し込みを完了しました。2万は高いなあww もともとなんでE資格を受けようと思ったかというと、プログラミングの勉強を始めたとき医学と親和性高いものってことで人工知能やデータサイエンスの領域に的を絞っていて、背水の陣を敷くために8万のJDLA認定講座に登録したのが事の発端なんです。 なんて消極的な受験動機なんだ(笑) 勉強過程でアプリ開発の方に興味がそれまして、いまやE資格は「早く終わらせたいタスク」みたいな位置づけになってしまいました。10万近く使ったので、貧乏大学生としてはなんとしても意味あるものとして終えたいわけです(笑) 無駄話はさておき今日のアルゴリ…

  • 今日のアルゴリズム(JS実装)〜Merge Sort〜

    // どうも、わくばです! 今日はJDLA認定講座の最後の試験でした。無事合格しましたので、これでやっとE資格試験を受験できます。 なんでこんなにめんどくさいのだ(笑) 機械学習は統計的な処理もしっかり含まれていて、医学でも役立つので何れにせよ頑張りきろうと思います。 さて今日のアルゴリズムですが、Merge Sortです。いくつかアルゴリズムをコードに起こしてきましたが、アルゴリズムのぱっと見の印象では意外と複雑さの検討がつきにくいですね。 ソート系は難易度低い印象ですがBubble Sortや今回のMerge Sortなど、所見でコードを書こうとするとなかなかしんどいです(笑) Merge…

  • 今日のアルゴリズム(JS実装)〜Insertion Sort〜

    // どうも、わくばです! 今日はInsertion Sortです。自分より前の要素を比較していって、自分より小さいものが現れたらその後ろに挿入するというアルゴリズムです。 コードは以下のような感じです。 const insertionSort = array => { for (let i = 1; i < array.length; i++) { //jの位置から比較しながら前に戻っていく let j = i; let temp = array[i]; //tempより小さいものがでてくるまでループ while (j > 0 && array[j - 1]> temp) { //自分より大…

  • 今日のアルゴリズム(JS実装)〜Selection Sort〜

    // どうも、わくばです! 今日はSelection Sort を学びました。今回はシンプルです。 このサイトが非常にわかりやすいのでぜひ:Selection Sort - InterviewBit コードはこんな感じになりました。 function selectionSort(array, size){ const { length } = array; for (let i=0; i< length; i++){ let minIdx = i; for(let j =i+1; j < length; j++){ if(array[i]>array[j]){ minIdx = j; } } …

  • 今日のアルゴリズム〜Binary Heap〜

    どうも、わくばです! 昨日はJDLA認定講座の数学試験があったので、お休みしました(笑) 今日はBinary Heapです。正直コードに落とすのがかなり複雑で時間がかかっていしまいました。ヒープがどんなデータ構造なのかについてはページの最後に参考を用意しておいたのでそちらを御覧ください。*1 結局は優先キューなので、「自由に追加できる」「先頭から最小のものを取り出せる」が実現できれば良く、重要なのは挿入や抽出をした後の配置換えの部分になるかなと思います。以下では一つのクラスとしてまとめて実装しています。 Minimum HeapとMax Heapどちらでも大した違いはありませんが、今回はMin…

  • 今日のアルゴリズム〜Bubble Sort〜

    // どうも!わくばです! 今日から1日1アルゴリズムずつ記事にしていこうかなと思います。今までなんとなく避けてきたんですがそろそろそうも行かなくなってきたので、、、 普段codewarsというサイトでコーディングの勉強をしているんですが、上級になると結構難しくなるんですよね。codewarsではレベルのことをkyuといって、そのkyuが上がってくるとどうにも素人の発想では回答できない問題も増えてきます。kyuが上がるのに比例して1問にかかる時間が長くなってきまして、そろそろ真面目にアルゴリズムを勉強しておかないと、この先いくら時間があってもてりないのでは、、、というわけです(笑) 勉強の手順…

  • Vimerになりたい!

    どうも!わくばです! 前回はアドベントカレンダー用の記事だったのであまり個人的な話はできなかったんですが、実は進級試験中でした(汗) 昨日やっと自己採点も終えて、なんとか進級はできそうってことで一息つけました。2日で400問、計14時間のテストでかなり疲れました(笑) 進級結果は3月なので実際まだわからないんですが、及第点は取れているはずです! 僕の大学で5年から6年になる進級試験で6割取っていれば、一年後の国試は安泰らしいので順調に勉強すれば医者になれるらしいです。ただし順調に勉強すればの話ですが、、、嫌な予感。 さて今回ですが、Vimerになりたい!ということで第一歩を踏み出そうと思います…

  • 扇形を描画したい初心者の格闘日記〜SVG vs Canvas〜

    どうも、わくばです! ReactNative アドベントカレンダー10日目です! アドベントカレンダーは初投稿で、拙い内容かもしれないんですが箸休め程度に楽しんでいただければと思います。 プログラミングはまだ初めて半年も経っていない初心者ですが、エンジニアの方々ともっと絡みたいと思って今回アドベントカレンダーに参加させていただきました。 Twitterやってるのでぜひぜひフォローお願いします!! Follow @PYEcracker99 概要 こんな感じのUIを作るために、扇形の描画について、SVGとCanvasを用いて検討してみた記事です。 完成イメージ 目次 自己紹介 動機 扇形の条件 使…

  • Define-and-RunとDefine-by-Run

    わくばです! 最近は薬理学研究室の手伝いでTensorFlowを勉強しているんですが、使っていてすごく違和感があるというか、使いづらいんですよね。 なんでかなと調べてみたら「Define-and-Run」という設計思想がどうやら関わっていそうなので今回記事にしてみました。 Define-and-Runを考えるにあたってよく引き合いにだされるのがDefine-by-Runです。それぞれ日本語で訳すと前者は「定義して実行する」、後者は「実行ごとに定義する」と言った感じでしょうか。 Define-and-Runというのはまず予め静的なネットワークを記述した後、実際にデータを用いて実行する形式です。こ…

  • <自作アプリを作りたい ネイティブアプリ編 React Native> #5 〜useStateを学ぶ〜

    わくばです! 今回はuseStateについて説明してみます。useStateというのは関数コンポーネントの状態を管理する機能を言います。状態ってなんぞやと思うかもしれませんが、これは具体的にコードで示した方がわかりやすいので、単純な機能を作ってみました。 useStateの例 まず以下にソースコードを添付します。水の温度をState(状態)として管理し、それによって水の物性変化を管理しています。 基本的な文法としてはconst [xxxx,setXxxx]=useState[初期値]という形を取ります。xxxxの部分は自分で好きなように名前を決められます。ただしsetのあとは大文字です。以下の…

  • <自作アプリを作りたい ネイティブアプリ編 React Native> #4 〜コンポーネントとpropsの概念〜

    わくばです! だいぶブログを放置してしまいました笑 決して勉強をサボっていたわけではなく、UdemyでしばらくReact Nativeの講座を受けていたんです。 ちなみにシリーズのタイトルが「AIアプリを作りたい」から「自作アプリを作りたい」に変わっているのは、本当に作りたいアプリが決まったからです。もともとAIアプリとしていたのは、AIの勉強とモチベーションを無理やりくっつけるためだったので特に作りたいもののイメージはありませんでしたし。実際に作るアプリの技術的な設計は今度作ろうと思っています。 そんなことは良いとして、以下にUdemyで受けた講座のリンクを張っておきます。まだすべて終わって…

  • <AIアプリを作りたい ネイティブアプリ編 React Native> #3 〜構造化とスタイリングを学ぶ〜

    わくばです! 今回はUdemyの講座でReact NativeによるUI(ユーザーインターフェース)の作り方を勉強したのでそこで感じたことと、今後どう勉強していくかについて考えていきます。 構造化 React NativeのUIはJSXというマークアップ言語とJavaScriptを用いて構築するそうです。JSXは< >を使って記述されるもので一見本当にHTMLに見えます。正確にはXMLというマークアップ言語を基礎にしているのでHTMLとは違うそうなのですが、HTMLと比較して勉強したほうが実用的で一石二鳥なのでHTMLになぞらえてお話します。 構造化の部分はこんな感じです。 構造化の部分 <V…

  • <AIアプリを作りたい ネイティブアプリ編 ReactNative> #2 〜環境構築 Node.js & Expo〜

    わくばです! 今回はReactNativeの環境構築を行いました。かなり大変でした笑 JavaScriptは環境構築不要とかいって舞い上がった次の瞬間これです。先が思いやられます。 Homebrewインストール Nodebrewインストール Node.jsインストール Expoインストール シュミレータのインストール Homebrewインストール まずHomebrewのインストールを行いました。いやしなかったんかい、って感じかもしれませんが、今日はじめて知りました笑 これがないとなにかできないといったことはないです。ほんとに必須なのはNode.jsとExpoなので。これはExpoの公式ドキュメ…

  • <AIアプリを作りたい ネイティブアプリ編 ReactNative>〜JavaScriptの基本を学ぶ #1〜

    わくばです! かねてからアプリ開発を学びたいと考えていたので、ネイティブアプリの開発から勉強をしていこうと思います。 無論AIの勉強もしていきますが、E資格取得までのつもりです。 アプリ開発を学ぶ理由 何を記事にするのか なぜReactNativeからはじめるのか 本題 環境構築が不要! 視覚的にわかりやすい まとめ アプリ開発を学ぶ理由 アプリ開発を学ぶ理由というか、AIを突き詰める意味が僕にはないからです。というのも医学における僕の分野は最終的には僻地医療で、総合診療や家庭医療、救急医療といった分野になるからです。研究室でより精度の高いAIアルゴリズムを作ることが目標ではないのです。 つま…

  • <AIの仕組みシリーズ> パーセプトロンとは〜深層学習の基幹概念〜

    // わくばです! そろそろ知識をちゃんとアウトプットしないとなーと思って、機械学習の仕組みに関して記事を作成していこうと思います。あんまり教科書的にまとめてもわかりにくいので気になった重要なトピックごとに記事にしていこうと考えています。 やはりまずはDLの根幹とも言えるパーセプトロンの話から パーセプトロンとはなにか パーセプトロンというのはフランク=ローゼンブラットという心理学者が考案したモデルで、ニューラルネットワークを考えるにあたって最も根本的な概念です。ネットワークを構成する最も小さなパーツというとわかりやすいでしょうか。 難しい言葉はまず由来から考えてみるのが吉です。「percep…

  • 医者がプログラミングを学ぶ意味〜飯塚浩也先生のAntaaライブを見て〜

    わくばです! 僕は「Antaa」という団体に参加していて、昨日Antaaのライブで飯塚浩也先生が登壇していらしたので、そのライブの感想を記事にしようと思います。Antaaというのは医療関係のイベントをよくやっている団体です。 飯塚浩也先生は医師として八年間業務を経験した後、エンジニアとして仕事をはじめ、現在株式会社BeatFitのCTOをされているそうです。エンジニアへ鞍替えする前に、いろいろと苦い経験をされているのですが詳細は割愛させていただきます。ライブ動画はアーカイブされているので、ご興味のある方はぜひAntaaに参加しライブを視聴してみてください。 https://med.antaa.…

  • E資格受験を決めました!

    メリット 明確に人に見せれるモノが手に入る エンジニアに質問できる 学習指針が得られる 余談〜石橋の安全が確認できた頃には〜 わくばです! E資格を取得しようと決めました。だいぶ悩みました笑 何しろ最安で10万は必要ですから。 E資格というのはG検定の難しいバージョンと思っていただいて結構です。「E」というのは「Engineer」の意味です。別にG検定受かってなくても受験はできるんですが、やはりエンジニアリングに主眼があるので上級ではあります。 明確な対外的なメリットは今の所ないかなと思います。取ったからといって就職とか有利になるということはなさそうです. ですがそれに対して僕個人におけるメリ…

  • オンボロPCにLinuxをインストールしてみた

    わくばです! 僕入学時にWindowsのパソコン購入したんですが、当時PCに関して全く詳しくなくてあんまり興味もなかったのでめちゃくちゃ適当に選んでしまったんです。結果、四年経った今、重すぎて全然使い物にならなくなってしまいました笑 解決策として、Windowsを勉強して可能な方法をあらかた試すか、もうOSごと変えてしまうかといったところでしたが、後者に決めました。LinuxOSの勉強にもなりそうだし、そもそもWindowsより軽量だし使い勝手が良さそうなので。 以下に僕が参考にしたページを貼っておきます。 https://linuxfan.info/make-linux-install-us…

  • 独学で微積分・線形代数を学びたい人にオススメの本

    わくばです! 医学部では疫学で統計学の知識が必要なくせに大学レベルの数学を取り扱う授業はありません。なので僕は独学で一応、微積分と線形代数は学びました。 数検1は持っていませんので大した実力はないです笑 でもだからこそ僕みたいなレベルでも勉強できる教材を使用したので、きっと独学に苦しんでいる方の参考にはなれるかと思います。 まずはおなじみのマセマシリーズです。 微分積分キャンパス・ゼミ 改訂6 作者:馬場敬之 発売日: 2019/09/18 メディア: 単行本 スバラシク実力がつくと評判の線形代数キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる! 作者:馬場 敬之 発売日: …

  • 医師がプログラミングをできる必要はあるのか

    わくばです! 今日は僕自身の活動指針を根本から、しかも自ら揺るがしにいきます笑 ですが、自分が現時点でこの問にどう結論もしくは折り合いをつけているのか、ひいては何をモチベーションとしているのかはっきりさせておこうと思ったんですよね。 後で見返して答え合わせをしたいというのもありますし、ご一読くださった皆さんのご意見もぜひ拝聴したいというのも理由にあります。 僕がプログラミングを学ぼうと思った理由は主に2つ 医学的知見の不確実さ、そして非学問的側面における開発研究の重要性に気づいた IT技術を用いた医学の新技術や新パラダイムの出現は時間の問題 余談 結論から申し上げて、医師にプログラミングスキル…

  • G検定の所感と、個人的に役に立った教材

    わくばです! G検定、無事合格でしたb 結構話題になりましたね笑 半額が拍車をかけて、今回倍以上の受験者でした。問題が公式テキストから外れていたせいでだいぶ炎上していたように感じます。 何より過去問がないというのがどうにも受験者側に余計なストレスを与えていましたねー。 正直落ちていたらめちゃくちゃディスっていたと思いますorz いずれにしても改善点は多いと思いますが、、、 ご存じない方のために念の為どんな試験か説明しますと、Gはジェネラリストの頭文字で、ディープラーニングを事業に活かす人材を認定する試験です。 勉強した身からするとAIに関する「目次」を勉強させられたかんじです。 勉強する価値は…

  • G検定の結果と諸々の話

    わくばです! 長らく更新していませんでしたが皆さんいかがお過ごしでしょうか。 先々週G検定を受けました。合格通知がくるまで2週間もありましたんで、何するにしても身が入らないということで、医学だけに集中すると決めて2週間勉強に没頭しておりました笑 いくつになっても結果発表は緊張するものですね。もちろん無事G検定合格ということで、黒星スタートは避けられました(ヤレヤレ) 加えて、かねてよりお願いしていた本学分子薬理学研究室の研究の参加させてもらえる事になりました!9月からのスタートなので少し後ですが、お願いしてみるものですね、大学病院のメリットを初めて感じましたよ笑 とはいえこの研究室は基本的に薬…

  • その不安、フレーム外ですよ。〜人間存在とフレーム問題〜

    わくばです! 最近、ブログ書いたりプログラミング勉強したりしてると、突如不安に襲われる事があるんですよね。 あー、おれこんな勉強速度で結果出せんのかな。やっぱ量より質かなー。 あー、進級試験落ちるんじゃねえかな。睡眠時間削ろうかな〜。 あー、こんな大したバックグラウンドもない人間の日記みたいなブログ誰にも読まれねえよなー。まじでおれ何もしてこなかったんだなー こんなことを思いながらG検定の勉強していたら、ある”問題”を思い出しました。 〜フレーム問題〜 ご存じない方もいると思うので軽く説明させてください。 これはAIが問題解決の際に生じる問題なんですが、AIには「今からしようとしていることに関…

  • 【Kindle Unlimitedのすすめ】Linux初心者必見、おすすめ教材

    わくばです! 現在僕は機械学習を基軸にプログラミングの勉強をすすめているわけですが、インフラや低レイヤーにも興味があって、直近はLinuxの勉強をしています。 僕はビンボー学生ですが、いろんな本をパラパラ読み漁りたいタイプの人間でして、Kindle unlimitedにはめちゃくちゃお世話になっています。医学の本はほぼ皆無なんですが、プログラミングなどの技術書は結構対象に入っていて、プログラミング学習に非常に役立っています。いずれKindle unlimitedでプログラミング系の本を集めて記事にしてみようかなとも思っています。 さて今回のおすすめはこちらの本です。 リンクはこちら ・ショート…

  • Docker技術の中を覗いてみた

    わくばです! 夏が近づいているのを感じます。まぁ僕みたいなタイプは通年性のインドアなので季節関係ないんですが。 今日はかねてより気になっていたDockerという仮想化技術について勉強しました。やっぱ低レイヤーの勉強って面白いですね。アプリ開発の勉強とかよりモチベが上がります。アプリ開発の勉強はしたことないですが。(おい よくVMとDockerの比較みたいなのあるじゃないですか、こんな感じの https://y-ohgi.com/introduction-docker/1_introduction/vm-docker/より引用 僕個人的にこういう画像しっくり来なくて、「Docker Engine…

  • 【Anki】表を暗記する方法①〜Ankiアドオン:Image Occlusion Enhancedのインストールから使い方まで〜

    わくばです! 今日は僕が普段なにかを暗記するときに使用しているAnkiというアプリについてです。このアプリケーションにはアドオンという拡張機能がありましてこの機能というのがGitHubのように共有できるようになっているんです。その中でもタイトルにあるImage Occlusion Enhanced(IOE)というアドオンが表や画像の暗記に便利なのでその使い方をご紹介! 注意)アドオン機能はパソコンじゃないと使えません インストール 使い方 基本的な操作 問題の作り方 出題方式の選定 まとめ インストール インストール手順は非常にシンプル ①ブラウザでAnki add onページへ行く http…

  • G検定進捗〜最終メンテ〜

    わくばです! 今朝起きたら土砂降りでびっくりしました。寝る前はまぁまぁ暑かったのに、起きたら風邪引くかと、、、 そんな陰鬱な自粛期間ですが知らぬ間にG検定が近づいておりました。 G検定の勉強は大体2日で1時間ほど、ちょうど1ヶ月くらい前から始めてました。 直前ということで戦略まとめです。 まとめというか模試とか解いてみてやはり頭に置いておくべきことは個人的に2つ ①テキストにある典型的な知識をとりあえずちゃんと暗記する!もしくはすぐ参照できる状態にする。 ②「〜当てはまらないものを選べば」に気をつけろ! ①に関してですが、わからないものを調べる時間をどれだけ長く残せるか、ここが勝敗の決め手かな…

  • 今後の勉強方針〜SIGNATE Quest〜

    わくばです! 現在、G検定の勉強をメインに学習をしているわけですが、今後の学習をどういった方向性で行っていくべきか長らく悩んでいました。(*_*) 基本的にはデータサイエンスやAI領域を目指して進んでいるので、オライリーの「Pythonデータ分析」とかしっかりめのを購入しようと思っていたのですが、3000円以上する本を買うお金もないもんで笑 (ビンボーすぎる) それに何しろ飽き性でして、もっと実践に直結しているほうが楽しめるかなと思っていろいろ探していたところ、とあるツイートからSIGNATEというサイト知りました。覗いて見たところちょうど求めていた難易度と実践レベル! どうやらコンペティショ…

  • ポモドーロテクニック、ちゃんとわかって使ってますか?

    Follow @Hitotsume_RemPL わくばです! 仕事効率化のテクニックとしてポモドーロテクニックというものがありますよね。今や常識レベルと思われるかもしれませんが、「25分.5分のサイクルで集中力を継続するテク」という認識しかしておられない方、多いのではないでしょうか。今回はこのポモドーロテクニックの見過ごされがちな適切な使い方と注意点を説明させてください。 目次 ポモドーロは記録・分析し、改善していくものである 内的中断を記録し、ポモドーロの質を視覚化する あるタスクに何ポモドーロ必要か予測と実測を繰り返し、自身が1ポモドーロでこなせるタスクが如何ほどか分析する ポモドーロ・テ…

  • 環境変数と思い出〜備忘録〜

    Follow @Hitotsume_RemPL わくばです! 僕の地域では雨続きでしたが、最近少しずつ晴れが増えてきました。でもこのままだと蒸し暑い夏を迎えそうでちょっと嫌ですね。笑 昨日Linuxの勉強していたら、LinuxというOSがどうやら他のOSより処理が軽いという記述を見つけたので試しに僕の古いPCでUbuntuをインストールしてみました。富士通のLIFEBOOKというWindowsPCです。入学時(5年前)にプログラミングなんて1ナノも考えていなかった頃、Officeが使えればなんでもいいやと思って適当に選んだやつでした。Core i3というお世辞にも高いとは言えないスペックでした…

  • 遅延評価的学習の危険性

    わくばです! 都知事選も始まり、世間の動きから目が離せなくなって来ましたね。しかも候補者のクセがすごい。クセまみれなんですよね笑 それぞれの公約もはっきりしていて興味深いです。どうなるんでしょうね。 ところで遅延評価的学習という言葉を知っていますか?「遅延評価」という言葉はプログラミング用語からきているようですが、ようは「必要になったら必要なだけ勉強する」という学習法です。プログラミング学習でよく推奨されている方法です。 世の中で推奨されている事柄で僕が必ず確認するのが、「誰を対象に推奨しているか」という点です。そこをないがしろにすると痛い目を見ます。遅延評価的学習はその仕組から察するに明らか…

  • G検定進捗

    わくばです! G検定の学習もある程度目処が立ってきたので、ここらで整理しておこうかなと。 今の所、G検定白本と黒本(左から二冊)は一周して、G検定最短合格指南書(右から二冊目)というKindle本をやりました。 正直黒本だけでも傾向を掴むには十分だったなと思います。黒本の総仕上げ問題を、本番通り2時間、検索ありで解いた結果9割はとれました。曖昧な記憶でもカンペありなら合格点取るのは難しくないかなと感じます。ところどころ深い理解ができていないと解けない問題がありますが、最後に残った時間でなんとかなると思います。ただ黒本だけでも無論不十分だと思うので、やはりもっと知識面は固めていく必要があると思っ…

  • 「勉強が楽しい」は諸刃の剣

    わくばです! コロナショックで倒産している会社もある中、勉強する経済的余裕があることに感謝する毎日です。はやく前みたいに戻りたい、とは言わないまでも、先が予測で入る程度までは安定してほしいものです。 勉強のモチベーションの維持って大切ですが、「苦痛」も必要だと思っているんですよね。僕は人より少し浪人期間が長かったので、長期的な勉強の良し悪しについては若干人より理解があるつもりなんですが、「勉強が楽しい」という状況はときに危険でもあります。特に受験勉強が良い例ですが、今行っている学習が「手段」にすぎない時は顕著です。 具体的にどんな危険があるのかというと①目的を忘れがち、②効率が悪くなっているこ…

  • AIに医師の代わりは務まらない

    わくばです! AIの勉強をしていて、エキスパートシステムとかAIが擬似的に専門家レベルの判断を下せるようなシステムの開発があることを知りました。このシステム自体は専門家の知見や判断力に焦点があって、まだ医師の仕事には程遠いように感じています。 実際AIが医師に取って代わる時代が来るのかというと、おそらく世代としては僕が死んだ後ではないかなぁと思います。少なくともシンギュラリティを超え、AIが自ら学習するレベルに達しないと難しいでしょう。というのも医師が相手しているのは患者、すなわち一般人であるという点が大きなハードルになると思っているからです。AIが専門家を納得させる判断を下せるようになるのは…

  • プログラミングスキルという希少価値とその展望

    わくばです! プログラミングが扱える強みっていつまでもつと思いますかね。「フリーランスで仕事を受注しながら自分の時間を大切にできる人生」、これって転職を試みる多くの人が憧れるものではないかなと思います。しかし、こういうのって希少価値があってこそですよね。需要に対して供給が不十分だからこそ、選ぶ側でいられるわけです。この先、義務教育でプログラムが扱われて、プログラムなんて常識的になったら、プログラマに転職したメリットなんて全然なくなるかもしれません。僕の父は自営業でサッシ屋(ある意味フリーランス)なので、一人で仕事する大変さ少しわかるのですが、自分で工夫して顧客を維持し続けなきゃいけない時点でか…

  • コーダーではなくエンジニアになりたい。

    わくばです! Pythonを学習していて思うのは、エンジニアになる過程で最も大きな壁って、バックエンドとかの分野だってことです。なんというかPCとの対話というか、、、、、笑 プログラム書くこと自体は英語の勉強に近いところあるし、自分が書いたものが仕組みそのものじゃないですか。だから多少問題が起きても、原因はスクリプトの中から見つけ出せると思うんですよ。でもPC自体の問題ってわかんない時ほんとにわかんないじゃないですか笑 PCをちゃんと操るのって、背後にある大きな仕組みを理解できていないとできないことです。正直この部分が初学者にとって一番のブラックボックスで、アレルゲンだと思うんです。Webペー…

  • 数学的理解と文脈的理解

    わくばです! G検定の勉強も数学的な部分を掘る余裕がでてきたところです。AIが数学の上に成る以上は最終的には数学的側面の理解が必須で、それこそが深い理解につながるものだとばかり思っていましたが、必ずしもそうではないなと感じるようになりました。 例えば、ロジスティック回帰分析というのは医学分野でも使いますし、仕組みもなんとなく知っていましたが、「分類問題に用いる」という理解はしていませんでした。正確に言うと、どういうときに使われるか具体的に言えはするが、「分類問題で用いる」という言葉として捉えてはいなかったのです。今までの僕は”木を見て森を見ず”でした。「数学的に理解できている」というのは深く理…

  • G検定をどう料理していくか

    わくばです! 6月に入ってもう1週間が過ぎようとしていますね。僕の大学は夏明けまで実習がなくなったのはいいんですが、ネット教材の課題が大量に出ていて浪人生に戻ってしまった気分です。各教授は各分野のヲタクなのでどの課題もクセまみれです汗 本題ですが、G検定黒本を一周してみてなんとなく傾向がつかめてきたので細かく計画を立てて行こうかなと思います。感想としては学校のテストに近いなぁと感じます。用語知識をもとにした穴埋め及びMCQ(多肢選択)です。計算問題のような考える問題は少ないのでまずは正攻法で対策を取ろうかなと思います。そのうえでCBT(パソコンで受ける試験)型であることと、試験中に検索可能であ…

  • 過学習と期末テスト

    わくばです! 東京の感染者数は盛り返してくるわ、米国では黒人差別の暴動が起こるわ、香港では国安法が制定されるわ、世界は激動ですね。僕ら日本人もいつまでも他人事でいられればいいですが、、、、怖いですね。 最近”過学習”ってものを学びました。オーバーフィッティングとも呼ばれ、訓練データに対する感度が上がりすぎた結果なまのデータに対応できなくなるという現象です。この現象を聞いたとき「あ、高校生の頃の自分だ」と思いましたね。学校の期末テストは良い点取るけど、外部の模試はボロクソっていう笑。学校の教材や期末テストに出る内容だけにオーバーフィッティングしてしまったために、実践ではなんの役にも立たない。 上…

  • 今後の計画

    わくばです! 今後の予定を決めました。現在5年生で、来年は進級試験や卒業試験、国家試験が待ち構えているので今年度中に色々終わらせてしまいます。資格試験ヲタクかよと思うかもしれませんが、初期の段階では資格試験は有用だと思っています。頭の中に何も地図がない状態ではやりたいことも見つかりませんからね。あと僕自身興味が先行するタイプで、すぐ色々手を出してしまうので集中維持の目的もあります。 E資格はJDLA認定プログラムがかなり高額なんですが学生なら4万円割引が効いて10万弱に抑えられるので、学生のうちに取ろうと思っています。 6年生や研修医になったらもっと現場の情報が入ってくるでしょうし、そのときに…

  • 人間の脳と勾配消失問題

    わくばです! ディープラーニングの学習をはじめて現在3日目です。思うように進みませんね(泣) お仕事をしながらこういった勉強を行い、転職を目指している方々がいかに大変か身にしみます! 今日はニューラルネットワークの仕組みについて、誤差逆伝播法について学習しました。学習が進むほど、AIって数学得意な人にとっては強くてニューゲームだなぁと感じます笑 誤差逆伝播法というのは要するにAIにおけるPDCAサイクルみたいなもので、答えあわせをもとに改善をしていくメカニズムのことのようです。このメカニズムにはまだまだ課題があり、それが勾配消失という現象です。 誤差逆伝播法ではどのように学習結果をフィードバッ…

  • 細かいことはいい!AIの勉強をするんだ!

    わくばです! 5G、AIの台頭で今後医療はより変化する。と思う。のはずである。エビデンスはない笑 サイエンスの分野に関わる人ならわかると思いますが、誰もが人類の大いなる一歩がみたいでしょ。だからみんな最先端を行きたがる。僕もその一人。けれど先端ばっか磨いていても仕方ないと僕は思うんです。せっかくここまで人類は発展してきたのに、ここにきて灯台もと暗しではいかんと思うのですよ。だから僻地医療に従事することがすでに決まっている僕みたいな人間はその技術の普及に貢献しないといけないのです。 ということで、まずはプログラミングの勉強を始めることにしました。分野はAI、言語はPythonで始めたいと思います…

arrow_drop_down

ブログリーダー」を活用して、わくば@構えは斜めさんをフォローしませんか?

ハンドル名
わくば@構えは斜めさん
ブログタイトル
わくば[医学とプログラミング]
フォロー
わくば[医学とプログラミング]

にほんブログ村 カテゴリー一覧

商用